首页 > TAG信息列表 > LONG

C++中实现随机数(超详细!)

一、随机数函数: rand()函数 在C++中可以用rand()函数来产生一个0~RAND_MAX之间的“伪随机数”。 需要导入一个库:   include<cstdlib> 1.什么是RAND_MAX:   它一般是个定值,它的大小取决于你的编译器和操作系统,如Linux最大可到2147483647而Windows可能只有32767这么小。   可

AtCoder Beginner Contest 261 E

E - Many Operations 我们发现这个的位运算的顺序是不可以改变的 那我们就不能把后面的结果先算出来做 那怎么办呢 我们考虑数据范围给的是2的30次方 我们考虑拆位 我们可以发现 位数上仅有0/1 两种状态 30位 N是2e5 好像可以dp 我们就由此设置dp[i][j][k]为当前第j位为i(0/1)做前k

解决 Error running ‘Application‘: Command line is too long.

原文链接:https://blog.csdn.net/weixin_44768683/article/details/126095839 问题描述 Error running 'Application': Command line is too long. Shorten command line for Application or also for Spring Boot default configuration? 翻译翻译: 运行“Application”时出错:命令

9.15-CSP-S开小灶4

T1 山洞 比较简单但是我脑子抽了绕了半天弯。 朴素dp是很好写的 $ dp[i][j]= dp[i-1][j-i]+dp[i-1][j+i] ,(j-i \neq j+i)$ 考虑优化,我们可以先暴力推出前n步(当然最大可以推到10000步好像也没问题),然后我们一次走n步,这样会一共走m/n次,然后剩下m%n次仍然暴力推就行。中间一次走n

CSP-S开小灶4

A. 山洞 暴力枚举 \(nm\) 暴力 然后发现枚举的步长每 \(n\) 个一循环 搞出从\(0, 0\) 走 \(n\) 步的数组 进而发现从 \(0\) 到 \(i\) 和从 \(x\) 到 \((x + i) \% n\) 等价 于是可以\(n^2\) 转移出走 \(n + n\) 步,然后发现可以倍增了 其实这本质上是个循环矩阵 我太菜了,今天才知道

9.13-CSP-S模拟5

由于某些原因,现在改为发单篇博客的形式 9.13CSP-S模拟5 T1 F 比较水的一眼题,先没看题观察数据范围发现是n方的,读题发现显然可能合法的x只有\(O(n)\)个,就是拿\(a_1\)和所有的b异或一遍就行了,别的x既然\(a_1\)都异或不出来那显然不可能,对于一个数,它异或另一个数能得到x的话,那么异或

剑指 Offer 16. 数值的整数次方

一、题目: 实现 pow(x, n) ,即计算 x 的 n 次幂函数(即,xn)。不得使用库函数,同时不需要考虑大数问题。   示例 1: 输入:x = 2.00000, n = 10输出:1024.00000示例 2: 输入:x = 2.10000, n = 3输出:9.26100示例 3: 输入:x = 2.00000, n = -2输出:0.25000解释:2-2 = 1/22 = 1/4 = 0.25  提示: -1

Codeforces Round #820 (Div. 3) G(字符串 + dp)

Codeforces Round #820 (Div. 3) (字符串 + dp) 题意 两个字符串,一个原串,一个模板串。将原串中所有模板串的最小次数和所有方案数是多少。数据量 \(500\) 思路 考虑对原串中每一个出现的模板串dp。 定义 \(dp[i]\) 表示删除前 \(i\) 个模板串且最后删了 \(i\) 的最小操作次数。 转移

LeetCode 325 Maximum Size Subarray Sum Equals k 贪心+Map

Given an integer array nums and an integer k, return the maximum length of a subarray that sums to k. If there is not one, return 0 instead. Solution 注意到是 subarray, 所以是连续的。因此我们用 \(map\) 来记录一下当前 \(cursum\) 第一次出现下标位置,所以如果此时

LocalDateTime、LocalDate、Long、Date、String 相互转换

DateTimeFormatter dateTimeFormatter1 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");DateTimeFormatter dateTimeFormatter2 = DateTimeFormatter.ofPattern("yyyy-MM-dd");LocalDateTime localDateTime = LocalDateTime.parse("2019-07-

Codeforces Round #821 (Div. 2)

题目链接 Codeforces Round #821 (Div. 2) D.Fake Plastic Trees \(t\) 组数据,每组给定一个 \(n\) 个结点的树, 根为 \(1\) ,给定 \(2,3,\ldots ,n\) 的父结点 \(p_2,p_3,\ldots ,p_n\) 。再给出每个点权值 \(a_i\) 的范围 \([l_i,r_i]\) 。 初始每个点的权值均为 \(0\) 。每次操作

2021年中国大学生程序设计大赛(哈尔滨)Gym 103447

B Magical Subsequence E Power and Modulo I Power and Modulo 二进制,思维,二分 题意 给你一个序列 \(A_n\),你可以进行多次操作; 每次操作可以选择一个任意长度的序列 \(B_m\) ,然后使得\(A_{B_i}-2^{i-1}\)。问你最少多少次操作可以将\(A_n\)序列变为零。 题解 可以发现 将A_n$

梯度下降法

本文算是对上次写的题解「洛谷P2571 [SCOI2010]传送带」中讲到的梯度下降法的整理吧。。。 非 \(O(1)\) 复杂度求解多元函数最值的方法有很多:粒子群算法、模拟退火、三分套三分、牛顿迭代法…… 在此介绍梯度下降法。 梯度 了解多元微积分的各位大佬们都知道,梯度是一个向量,指

模拟退火模板

考前必看!!1 [NOIP2021] 方差 #include <bits/stdc++.h> #define DEBUG fprintf(stderr, "Passing [%s] line %d\n", __FUNCTION__, __LINE__) #define File(x) freopen(x".in","r",stdin); freopen(x".out","w",stdout)

Matrix-Tree Theorem

简介 矩阵树定理用来求无向图生成树个数,或者有向图指定根的内向树、外箱树个数。 这东西大概是 useless,但是毕竟正式比赛考过(联合省选 2020,sto wzj52501 orz),所以还是学一学。 全文临摹 OI-Wiki。 无向图 对于一张无向图 \(G\),定义其度数矩阵 \(D\): \[D_{ij}=\begin{cases}\deg(i),

C#小技巧---递归优化的三种方式

斐波那契数列 波那契数列指的是这样一个数列 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144,是指这样一个数列 递推公式如图:       1.最常见递归算法 //最常见的递归 static int Fibo(int n) { if (n == 1 || n == 2) return 1; else

COMPFEST 14 - Preliminary Online Mirror (Unrated, ICPC Rules, Teams Preferred)

比赛链接: https://codeforces.com/contest/1725 A. Accumulation of Dominoes 题意: \(n * m\) 的矩阵,从左上角开始,将 1 到 \(n * m\) 的数,放到矩阵中,先放第一行,从左到右,然后第二行,以此类推。问相邻且数字差为 1 的格子有多少个。 思路: 答案就是 \((m - 1) * n\),特判一下只有一列的

51nod模拟4/CSP-S模拟3

T1 score and rank %%t%ourist 比较智慧的贪心。考虑类似求最大子段和类的东西,我们逐个i考虑,当$a_i <0 $时,以i结尾的最大子段显然不会再超过S,但是它会抵消掉一部分之前的数 点击查看代码 #include <bits/stdc++.h> typedef long long ll;typedef unsigned long long ull; typed

快速幂

#include<iostream>using namespace std;const int maxn = 1e5+5;typedef long long ll;ll fastpow(ll a , ll n){ if(n==1) return a; ll temp = fastpow(a,n/2); if(n%2==1) //如果n是奇数,n/2向下取整,则会使得a少乘一个次方 return temp*temp*a; else return temp*temp;}i

C语言第五天,printf函数详解

一、使用公式: printf("XXX占位1 XXX占位2 XXX占位3",替换1,替换2,替换3); 1.printf的第一个参数是字符串。 2.printf是一个变参函数。(参数的数量和类型不确定) 3.占位符的类型和数量需要与后续的参数类型和数量对应 4.第一个参数包含需要输出的字符以及需要被替换的占位符 5.第一

算法总结

1.值和下标之差都在给定的范围内 给你一个整数数组 nums 和两个整数 k 和 t 。请你判断是否存在 两个不同下标 i 和 j,使得 abs(nums[i] - nums[j]) <= t ,同时又满足 abs(i - j) <= k 。如果存在则返回 true,不存在返回 false。 package com.chenghaixiang.jianzhi2.day19; impor

力扣 662. 二叉树最大宽度

662. 二叉树最大宽度 给你一棵二叉树的根节点 root ,返回树的 最大宽度 。 树的 最大宽度 是所有层中最大的 宽度 。 每一层的 宽度 被定义为该层最左和最右的非空节点(即,两个端点)之间的长度。将这个二叉树视作与满二叉树结构相同,两端点间会出现一些延伸到这一层的

AcCoders 7961 Problem D:【省选基础数据结构 树状数组】树状数组 题解

树状数组板子,单点修改,区间查询,注意处理读入字符的问题。 //7961 Problem D:【省选基础数据结构 树状数组】树状数组 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAXN=100005; ll c[MAXN],a[MAXN],n; #define lowbit(x) ((x)&-(x)) void add(l

SP2530 GNY07H - Tiling a Grid With Dominoes 题解

就喜欢找这种紫题来做,一看,排列组合,就想到了打表。 正如楼上的题解所说,OEIS是个好东西,从中找出一串序列,然后打个表,一道紫题就轻松地AC啦!! 0, 1, 1, 5, 11, 36, 95, 281, 781, 2245, 6336,18061, 51205, 145601, 413351, 1174500, 3335651,9475901, 26915305, 76455961, 217172736,61

I Hate Non-integer Number(DP)

题意 有一个包含\(N\)个元素的数组\(A\). 有\(2^N - 1\)种方式从中选择至少一项。问其中有多少满足平均值为整数。 题目链接:https://atcoder.jp/contests/abc262/tasks/abc262_d 数据范围 \(1 \leq N \leq 100\) 思路 如果选中了\(x_1,x_2,\dots, x_i\),那么它们的平均值为\(\frac{