- 博客(25)
- 收藏
- 关注
原创 高斯消元
#include<bits/stdc++.h>using namespace std;const double eps=1e-7;int n,flag=1;double a[109][109],x[109];void Gauss(){ for(int i=1; i<=n; i++) { int maxi=i; for(int j=i+1; j<=n; j++) if(fabs(a[j][i])-fab
2020-10-31 18:58:27 69
原创 二维树状数组
void update(int x,int y,ll d){ while(x<=n){ int tmp=y; while(tmp<=m) c[x][tmp]+=d,tmp+=tmp&-tmp; x+=x&-x; }}ll query(int x,int y){ ll res=0; while(x<=n){ int tmp=y; whil
2020-10-29 13:57:50 74
原创 分治FFT的优化
给定两个数组aaa,bbb,求ccc满足ci=∑j=0iajbi−j0≤i≤n−1c_i=\sum_{j=0}^{i}a_jb_{i-j}\quad 0\le i\le n-1ci=j=0∑iajbi−j0≤i≤n−1如果aaa或者bbb有一段前缀为000,比如a0=a1=a2=...=ak=0a_0=a_1=a_2=...=a_k=0a0=a1=a2=...=ak=0,那么不用计算就知道了c0=c1=c2=...=ck=0c_0=c_1=c_2=...=c_k=0c0=c1=c
2020-10-27 22:47:15 183
原创 莱布尼茨求导公式
莱布尼茨公式f(n)f^{(n)}f(n)表示对函数fff求nnn次导,则有(f∗g)n=∑i=0n(ni)f(i)g(n−i)(f*g)^n=\sum_{i=0}^{n}{n\choose i}f^{(i)}g^{(n-i)}(f∗g)n=i=0∑n(in)f(i)g(n−i)证明设h(i,j)h(i,j)h(i,j)表示f(i)g(j)f^{(i)}g^{(j)}f(i)g(j)的系数,h(0,0)=1h(0,0)=1h(0,0)=1,则有递推式h(i,j)=h(i−1,j)+h(i,
2020-10-26 23:00:47 6589
原创 食物
题目:BZOJ3028BZOJ3028BZOJ3028一个人要带nnn个物品,共有888种物品,每种的限制分别如下:偶数个,000或111个,000或111或222个,奇数个,444的倍数个,000或111或222或333个,000或111个,333的倍数个。求方案数。思路:对每个物品构造生成函数,然后相乘11−x2∗(1+x)∗1−x31−x∗x1−x2∗11−x41−x41−x∗(1+x)∗11−x3=x(1−x)4\begin{aligned}&\frac{1}{1-x^2}*(
2020-10-26 22:18:43 157
原创 白兔的刁难
题目:https://ac.nowcoder.com/acm/problem/15254?&headNav=acm给你nnn,kkk,求∀0≤t≤k−1\forall 0\le t\le k-1∀0≤t≤k−1st=[∑k∣i,0≤i+t≤n(ni+t)] mod 998244353s_t=\Big[\sum_{k|i,0\le i+t\le n}{n\choose i+t}\Big]\;mod\;998244353st=[k∣i,0≤i+t≤n∑(i+tn)]mod998244
2020-10-25 21:50:55 104
原创 单位根反演
单位根反演[n∣k]=1n∑i=0n−1ωnki[n|k]=\frac{1}{n}\sum_{i=0}^{n-1}\omega^{ki}_n[n∣k]=n1i=0∑n−1ωnki证明当n∣kn|kn∣k时,设k=npk=npk=np,则1n∑i=0n−1ωnnpi mod n=1n∑i=0n−1ωn0=1\frac{1}{n}\sum_{i=0}^{n-1}\omega^{npi\;mod\;n}_n=\frac{1}{n}\sum_{i=0}^{n-1}\omega^0_n=1n
2020-10-24 20:27:21 180
原创 LJJ 学二项式定理
题目:https://loj.ac/problem/6485给定n,s,a0,a1,a2,a3n,s,a_0,a_1,a_2,a_3n,s,a0,a1,a2,a3,求[∑i=0n(ni)siai mod 4] mod 99824453\Big[\sum_{i=0}^{n}{n\choose i}s^ia_{i\;mod\;4}\Big]\;mod\; 99824453[i=0∑n(in)siaimod4]mod99824453思路:单位根反演[n∣k]=1n∑i=0n
2020-10-24 20:17:28 201
原创 多项式除法
给定多项式F(x)F(x)F(x)和G(x)G(x)G(x),求F(x)F(x)F(x)除以G(x)G(x)G(x)的商Q(x)Q(x)Q(x)和余数R(x)R(x)R(x)。即F(x)=Q(x)G(x)+R(x)Deg(R)<Deg(G)<Deg(F)F(x)=Q(x)G(x)+R(x)\quad Deg(R)<Deg(G)<Deg(F)F(x)=Q(x)G(x)+R(x)Deg(R)<Deg(G)<Deg(F)首先构造FR(x)=xDeg(F)F(1x)F
2020-10-23 20:15:33 540 3
原创 队列重排
题目:https://ac.nowcoder.com/acm/problem/15614有n(n≤500000)n(n≤500000)n(n≤500000)个人排成一列,把他们解散后重排,使得"重排后前方" 跟"原排列前方" 一样的人不超过k(k<n)k(k<n)k(k<n)个,问有几种方法数,答案请mod(109+7)mod(10^9+7)mod(109+7)输出。举例来说,有五个人编号为1∼51\sim51∼5间的整数,最初的排列由前至后依序为1,2,3,4,51, 2, 3, 4
2020-10-22 21:48:30 377
原创 箱庭的股市
题目:https://ac.nowcoder.com/acm/problem/15550A[0][0]=pA[0][0]=pA[0][0]=p,且A[i][j]={A[i][j−1]i=0,0<j<mmax0≤k≤j{A[i−1][k]+∑l=k+1jA[i−1][l]j−k}1≤i,0≤j<mA[i][j]=\begin{cases}A[i][j-1]\quad i=0,0<j<m\\\max\limits_{0\le k\le j}\{A[i-1][k]+\s
2020-10-22 21:05:54 99
原创 造一造
题目:https://ac.nowcoder.com/acm/problem/15077每次你可以入栈一个新元素或者当栈非空时出栈一个元素,nnn个元素必须依次入栈,而WYFWYFWYF希望其中第mmm个元素入栈之后,栈中恰好有kkk个元素,现在他想知道一共有多少种入栈出栈顺序满足这个条件。思路:...
2020-10-21 22:17:19 151
原创 卡特兰数
有一个长度为n+mn+mn+m的010101序列,其中111有nnn个,000有mmm个,要求对于任意的整数k∈[1,2n]k\in [1,2n]k∈[1,2n],数列的前kkk个数中,111的个数不少于000。方案数为(n+mn)−(n+mn+1)=(n+mn)n+1−mn+1{n+m\choose n}-{n+m\choose n+1}={n+m\choose n}\frac{n+1-m}{n+1}(nn+m)−(n+1n+m)=(nn+m)n+1n+1−m...
2020-10-21 21:00:02 70
原创 数学归纳法证明差分公式
nnn阶差分Δnf(x)=∑i=0n(−1)n−i(ni)f(x+i)\Delta^nf(x)=\sum_{i=0}^{n}(-1)^{n-i}{n\choose i}f(x+i)Δnf(x)=i=0∑n(−1)n−i(in)f(x+i)证明:首先当n=1n=1n=1时成立当i≤n−1i\le n-1i≤n−1时Δif(x)\Delta^if(x)Δif(x)都成立,则Δnf(x)=Δ(Δn−1f(x))=Δn−1f(x+1)−Δn−1f(x)=∑i=0n−1(−1)n−1−i(n−1i)
2020-10-19 20:39:51 1739
原创 迪利克雷卷积,莫比乌斯反演,杜教筛
常见积性函数μ(n)={1,i=10,n无2次方以上的素因数(−1)k,k为不同素因数的种类\mu(n)=\begin{cases}1,&i=1\\0,&n无2次方以上的素因数\\(-1)^k,&k为不同素因数的种类\end{cases}μ(n)=⎩⎪⎨⎪⎧1,0,(−1)k,i=1n无2次方以上的素因数k为不同素因数的种类φ(n)=∑i=1n[(n,i)=1]\varphi(n)=\sum_{i=1}^{n}[(n,i)=1]φ(n)=∑i=1n[(n,i)=
2020-10-15 23:17:54 178
原创 白兔的式子
题目:https://ac.nowcoder.com/acm/problem/15251已知f(1,1)=1f(1,1)=1f(1,1)=1,有f(i,j)=a∗f(i−1,j)+b∗f(i−1,j−1)i≥2,1≤j≤if(i,j)=a*f(i-1,j)+b*f(i-1,j-1)\quad i\ge 2,1\le j\le if(i,j)=a∗f(i−1,j)+b∗f(i−1,j−1)i≥2,1≤j≤i对于其他情况f(i,j)=0f(i,j)=0f(i,j)=0有TTT组询问,每次给出a,b,
2020-10-15 21:06:10 130
原创 Problem F: Frightful Formula
题目:https://codeforces.com/gym/101480给一个n∗nn*nn∗n的矩阵,告诉第一行和第一列的数,并且有递推式F(i,j)=aF(i,j−1)+bF(i−1,j)+c2≤i,j≤nF(i,j)=aF(i,j-1)+bF(i-1,j)+c\quad 2\le i,j\le nF(i,j)=aF(i,j−1)+bF(i−1,j)+c2≤i,j≤n求F(n,n) mod 106+3F(n,n)\;mod\;10^6+3F(n,n)mod106+3,2≤n≤200000
2020-10-15 16:33:13 128
转载 Apprentice Learning Trajectory
题目:在数轴上有nnn个房子,每个房子开放的时间区间为[l[i],r[i]][ l[ i ] , r[ i ] ][l[i],r[i]],当多个房子同时处在开放时,可选择一个房间铸剑,需要t[i]t[ i ]t[i]秒(不能中断),问最多能铸多少剑?思路:https://blog.csdn.net/qq_45458915/article/details/108379858?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromM
2020-10-14 21:11:16 229
原创 牛顿迭代
给定多项式G(x)G(x)G(x),已知A(x)A(x)A(x)满足G(A(x))≡0 mod xnG(A(x))\equiv 0\;mod\;x^nG(A(x))≡0modxn求模xnx^nxn意义下的A(x)A(x)A(x)倍增法首先解出[x0]G(A(x))≡0 mod x\begin{aligned}[x^0]G(A(x))\equiv 0\;mod\;x\end{aligned}[x0]G(A(x))≡0modx这时候A(x) mod xA(x)\;mod\;
2020-10-12 22:01:16 98
原创 区间GCD
题目:给nnn个数,最大值为MAXMAXMAX,用nlogMAXnlog^{MAX}nlogMAX的算法预处理区间gcdgcdgcd思路:当右端点确定时,左端点越往左,gcdgcdgcd非递增,并且如果减小,则每次至少除222,所以gcdgcdgcd的个数最多logMAXlog^{MAX}logMAX个,所以我们可以dpdpdp预处理出每种gcdgcdgcd的最左端点。用vectorvectorvector存(x,y)(x,y)(x,y),xxx表示gcdgcdgcd,yyy表示左端点,左端点从大到小
2020-10-10 12:04:21 298
原创 BZOJ 3771
题目:BZOJ3771BZOJ 3771BZOJ3771有nnn个不同的数,可以取出一个,两个,或三个相加。问各种价值的方案数(顺序不同算一种)。思路:
2020-10-09 19:42:18 89
原创 BZOJ3456: 城市规划
题目:求nnn个点的无向连通图个数思路:设G(n)G(n)G(n)表示无向图的个数,F(n)F(n)F(n)表示nnn个点的无向图连通的个数,则G(n)=2(n2)枚举每条边选不选G(n)=∑i=1n(n−1i−1)F(i)⋅2(n−i2)枚举1号点所在连通块有几个点\begin{aligned}G(n)&=2^{{n\choose 2}}\quad 枚举每条边选不选\\G(n)&=\sum_{i=1}^{n}{n-1\choose i-1}F(i)\cdot2^{{n-i\c
2020-10-09 18:21:40 76
原创 Be Geeks!
题目:https://ac.nowcoder.com/acm/contest/7817/B给你nnn个数,设G(i,j)=gcd(ai,ai+1...aj)G(i,j)=gcd(a_i,a_{i+1}...a_j)G(i,j)=gcd(ai,ai+1...aj),M(i,j)=max(ai,ai+1...aj)M(i,j)=max(a_i,a_{i+1}...a_j)M(i,j)=max(ai,ai+1...aj),计算∑1≤i≤j≤nG(i,j)⋅M(i,j)\sum_{1\le i\
2020-10-07 15:50:41 189
原创 codeforces
题目:https://ac.nowcoder.com/acm/problem/21314牛牛正在打一场CFCFCF比赛时间为TTT分钟,有NNN道题,可以在比赛时间内的任意时间提交代码。第iii道题的分数为a[i]a[i]a[i],题目的分数随着比赛的进行,每分钟减少b[i]b[i]b[i]这是一场比较darkdarkdark的CFCFCF,分数可能减成负数已知第iii道题需要花费c[i]c[i]c[i]的时间解决请问最多可以得到多少分。思路:对于两道题i,ji,ji,j来说,有两种先后顺序,xxx
2020-10-04 21:58:45 617
原创 Playing games
题目:https://ac.nowcoder.com/acm/contest/295/H有n个数,选出尽量多的数使得异或和为000。1≤n≤500000,0≤ai≤5000001\le n\le 500000,0\le a_i\le 5000001≤n≤500000,0≤ai≤500000思路:问题等价于选出尽量少的数使得异或和为全部数的异或和valvalval。根据线性基思想可以推得整个集合的异或集合可以被不超过191919个数的异或集合表示.因此答案也不超过191919。所以可以二分答案。
2020-10-01 21:59:55 1958
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人