快速幂
文章平均质量分 53
SC.ldxcaicai
我很菜=_=
展开
-
2018.08.30 NOIP模拟 kfib(矩阵快速幂+exgcd)
【输入】 一行两个整数 n P 【输出】 从小到大输出可能的 k,若不存在,输出 None 【样例输入 1】 5 5 【样例输出】 2 【样例解释】 f[0] = 2 f[1] = 2 f[2] = 4 f[3] = 6 mod 5 = 1 f[4] = 5 mod 5 = 0 f[5] = 1 30%的数据保证 n, P ≤ 1000 100%的数据保证 n,...原创 2018-10-11 23:33:09 · 145 阅读 · 0 评论 -
bzoj4161: Shlw loves matrixI(常系数齐次线性递推)
传送门解法同这篇但我不是很想写三模数ntt/mttntt/mttntt/mtt,于是暴力多项式乘法和多项式取模。代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int rlen=1<<18|1;inline char gc(){ static char b...原创 2019-08-08 19:02:00 · 311 阅读 · 0 评论 -
洛谷P4723 【模板】线性递推(多项式取模+快速幂)
传送门解析见这篇博客代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int rlen=1<<18|1;inline char gc(){ static char buf[rlen],*ib,*ob; (ib==ob)&&(ob=(ib=bu...原创 2019-08-07 22:10:36 · 315 阅读 · 0 评论 -
codeforces 1096G. Lucky Tickets(生成函数)
传送门题意简述:现在有一些号码由000~999中的某些数字组成(会给出),号码总长度为nnn,问有多少个号码满足前n2\frac n22n个数码的和等于后n2\frac n22n个数码的和(保证nnn是偶数),答案对998244353998244353998244353取模。思路:一道挺显然的生成函数+快速幂。考虑到前n2\frac n22n个数码和的生成函数和后n2\frac n...原创 2019-01-26 11:58:06 · 455 阅读 · 0 评论 -
codeforces 632E. Thief in a Shop(生成函数)
传送门题意简述:给nnn个物件,物件iii有一个权值aia_iai,可以选任意多个。现在要求选出kkk个物件出来(允许重复)问最后得到的权值和的种类数。n,k,ai≤1000n,k,a_i\le1000n,k,ai≤1000思路:这是一道很显然的生成函数,我们把选一个物件的生成函数给列出来,然后取它的kkk次方就是答案。显然可以上一波fftfftfft 成功T飞在博主卡场无果之后...原创 2019-01-26 11:26:36 · 455 阅读 · 0 评论 -
bzoj5300: [Cqoi2018]九连环(fft优化高精+快速幂)
传送门题意不好描述(自己看样例解释)首先可以推出一个递推式:fn=fn−1+2fn−2+1f_n=f_{n-1}+2f_{n-2}+1fn=fn−1+2fn−2+1然后可以构造两个等式:(fn+fn−1+1)=2(fn−1+fn−2+1)(f_n+f_{n-1}+1)=2(f_{n-1}+f_{n-2}+1)(fn+fn−1+1)=2(fn−1+fn−2+1)(fn−2...原创 2019-01-02 12:08:49 · 207 阅读 · 0 评论 -
bzoj3992: [SDOI2015]序列统计(生成函数+ntt+快速幂)
传送门生成函数简单题。题意:给出一个集合A={a1,a2,...as}A=\{a_1,a_2,...a_s\}A={a1,a2,...as},所有数都在[0,m−1][0,m-1][0,m−1]之间,mmm是一个质数,求满足全部由这个集合里的组成且长度为nnn且所有数之积与xxx在模mmm意义下相同的数列总数。思路:对a1,a2,..,as,xa_1,a_2,..,a_s,xa1,...原创 2018-12-31 17:43:57 · 334 阅读 · 0 评论 -
2018.11.07 bzoj1965: [Ahoi2005]SHUFFLE 洗牌(快速幂+exgcd)
传送门发现自己的程序跑得好慢啊233.管他的反正AC了先手玩样例找了一波规律发现题目要求的就是a∗2m≡l(modn+1)a*2^m\equiv l \pmod {n+1}a∗2m≡l(modn+1)然后脑补了一波sbsbsb数学证明。假设当前牌aaa在第ppp个位置(为了方便假设在左半边,右半边的差不多)。然后在这一次洗牌之后会有2∗(p−1)+1=2∗p−12*(p-1)+1=2...原创 2018-11-07 21:46:39 · 160 阅读 · 0 评论 -
2018.10.19 NOIP训练 桌子(快速幂优化dp)
传送门勉强算一道dp好题。显然第kkk列和第k+nk+nk+n列放的棋子数是相同的。因此只需要统计出前nnn列的选法数。对于前mmm%nnn列,一共有(m−1)/n+1(m-1)/n+1(m−1)/n+1列跟它放的棋子数一定相同。而对于第mmm%n+1n+1n+1~nnn列,一共有m/nm/nm/n列跟它放的棋子数一定相同。因此枚举当前在第几列,一共放了几个棋子,然后用背包+快速幂优...原创 2018-10-19 21:22:50 · 171 阅读 · 0 评论 -
洛谷 P5487 【模板】线性递推+BM算法(BM+多项式取模)
传送门代码:#include<bits/stdc++.h>#define ri register intusing namespace std;const int rlen=1<<18|1;inline char gc(){ static char buf[rlen],*ib,*ob; (ib==ob)&&(ob=(ib=buf)+fread...原创 2019-08-08 21:27:01 · 945 阅读 · 0 评论