![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
文章平均质量分 82
forever_shi
但行好事,莫问前程;行你所行,无问西东!
展开
-
洛谷3306 bzoj3122 SDOI2013随机数生成器 BSGS
题目链接 这首先是一道高中数学题,我们要由数列的递推公式求出数列的通项公式。 由题目已知: xi+1=axi+b(mod p)xi+1=axi+b(mod p)x_{i+1}=ax_i+b(mod\ p) 这个可以用高中的待定系数法求出通项公式。我们设 xn+1+k=axn+b+k(mod p)xn+1+k=axn+b+k(mod p)x_{n+1...原创 2018-06-02 17:42:41 · 224 阅读 · 0 评论 -
洛谷3773 BZOJ4903 CTSC2017 吉夫特 数学 dp
题目链接题意:给你一个单调不升的数组a,求有多少个长度大于等于2的子序列满足∏i=2kCbibi−1mod  2=1\prod_{i=2}^kC_{b_i}^{b_{i-1}}\mod 2=1∏i=2kCbibi−1mod2=1。答案对1000000007取模。题解:首先题意是让你求一个相邻两数组合数膜2意义下都是1的子序列,...原创 2018-10-07 13:31:57 · 172 阅读 · 0 评论 -
AGC028 B Removing Blocks 期望 逆元 前缀和
题目链接题意:给你n个数,现在有n次操作,每次操作选择一个未选择的数,然后加上从它到它后面最后一个连续没选过的数的权值和,并标记这个数为选过。我们发现,我们有n!中可能的操作,求这n!种操作得到的权值和的和。题解:atcoder真的是好题无限啊!这题真不错,我一开始想这题算每一个数对答案的贡献,想尝试用组合数,发现做不出来。然后感慨这题似乎可以出成期望题啊,然后去看题解,发现真的是用期望做...原创 2018-10-15 07:38:18 · 528 阅读 · 2 评论 -
ARC060 D Digit Sum 数
题目链接题意:给你一个n一个s,问你是否存在一个进制使得n在x进制下的各个位之和是s。n,s<=1e11。题解:乍一看确实没什么好办法,只会暴力枚举进制判断。这题其实并没有用到什么更高明的判断方法,但是优化了枚举。这里用到了一种经常会见到但是又很巧妙的思想:对于小于等于n\sqrt{n}n的和大于n\sqrt{n}n的进行分类讨论。对于小于等于n\sqrt{n}n的情况,...原创 2018-10-22 20:03:33 · 196 阅读 · 0 评论 -
AGC003 D Anticube 数论 贪心
题目链接题意:给你n个数,求一个最大的集合,使得集合内的数两两相乘都不是完全立方数,输出集合大小。n&amp;lt;=1e5,ai&amp;lt;=1e10n&amp;lt;=1e5,a_i&amp;lt;=1e10n&lt;=1e5,ai&lt;=1e10题解:这种题经常会需要从质因数角度考虑。我们不难想到,如果一个数是完全立方数的话,那么它的每一个质因子的次数应该都是3的倍数。有一个...原创 2018-10-21 21:06:01 · 233 阅读 · 0 评论 -
莫比乌斯反演 狄利克雷卷积 杜教筛 学习笔记
前置知识:一些数论函数,比如欧拉函数、莫比乌斯函数的一些性质,积性函数及性质,整除分块。这里默认大家会前置知识,如果不会请自行学习。之前尝试看过,结果后来都忘光了,于是还是决定应该写个学习笔记记录一下。首先开始介绍莫比乌斯反演。我们设f(d)f(d)f(d)和F(n)F(n)F(n)为定义在非负整数集合上的两个函数,并且满足下列条件:F(n)=∑d∣nf(d)F(n)=\sum_{d|n}...原创 2018-11-21 20:40:20 · 259 阅读 · 0 评论 -
洛谷3172 BZOJ3930 CQOI2015 选数 莫比乌斯反演 杜教筛
题目链接题意:给你n,k,l,rn,k,l,rn,k,l,r,让你从[l,r][l,r][l,r]选一个数,选nnn次,总方案数是(r−l+1)n(r-l+1)^n(r−l+1)n,问选出的nnn个数的gcd恰好是kkk的方案数。n,k,l,r&lt;=1e9,r−l&lt;=1e5n,k,l,r&lt;=1e9,r-l&lt;=1e5n,k,l,r<=1...原创 2018-12-07 08:19:11 · 165 阅读 · 0 评论 -
AGC001 E BBQ Hard 组合数 dp
题目链接链接是洛谷有翻译的。题意:你有nnn个数对(ai,bi)(a_i,b_i)(ai,bi),求∑i=1n∑j=i+1nCai+bi+aj+bjai+aj\sum_{i=1}^n\sum_{j=i+1}^nC_{a_i+b_i+a_j+b_j}^{a_i+a_j}∑i=1n∑j=i+1nCai+bi+aj+bjai+aj。n&amp;amp;amp;lt;=200000,ai,bi...原创 2018-12-29 19:09:47 · 179 阅读 · 0 评论 -
洛谷4449 BZOJ4407 于神之怒加强版 莫比乌斯反演 线性筛
题目链接题意:给定n,m,kn,m,kn,m,k,求∑i=1n∑j=1mgcd(i,j)k\sum_{i=1}^n\sum_{j=1}^mgcd(i,j)^k∑i=1n∑j=1mgcd(i,j)k,有TTT组数据,每组数据的kkk是相同的。T&lt;=2000,n,m,k&lt;=5000000T&lt;=2000,n,m,k&lt;=5000000T<...原创 2019-02-14 22:24:12 · 124 阅读 · 0 评论 -
洛谷2150 BZOJ1497 NOI2015 寿司晚宴 状压dp 数论
题目链接题意:你有数值为2−n2-n2−n的n−1n-1n−1个数,你要把这些数分给两个人,可以有点数不分给任何人,每个人分到的数可以为空。分的时候如果第一个人分到的数存在一个数xxx,第二个人分到的数存在一个数yyy,使得xxx与yyy与共同的质因子,那么就不合法。也就是对于某一个质因子,它的所有倍数只可能分给同一个人。求有多少种合法的分配数的方案。n&amp;lt;=500n&amp;lt...原创 2019-03-14 08:43:08 · 163 阅读 · 0 评论 -
洛谷4140 BZOJ3813 奇数国 欧拉函数 线段树 状压
题目链接 题意: 求区间积的ϕϕ\phi值。题解: number∗x+product∗y=1number∗x+product∗y=1number*x+product*y=1可以转化为gcd(number,product)=1gcd(number,product)=1gcd(number,product)=1,即求ϕ(product)ϕ(product)\phi(product) 题目保...原创 2018-09-17 11:46:41 · 157 阅读 · 0 评论 -
洛谷4138 BZOJ3384 上帝与集合的正确方式 扩展欧拉定理
题目链接 题意:给你一个1e7以内的模数,求2的无限次方模那个模数的结果。题解: 如果一个东西的无限次方是可做的,那么我们应该考虑我们应该能在有限次得到结果。其实看到这种指数嵌套的东西很容易想到要用欧拉定理或者扩展欧拉定理吧,毕竟扩展欧拉定理很重要的一个应用就是解决这类问题。 扩展欧拉定理可以做aaa和ppp不互质情况下的ax%pax%pa^x\%p,当x>=px>=px>=...原创 2018-07-30 19:02:43 · 239 阅读 · 0 评论 -
扩展BSGS 学习笔记
首先你在学扩展BSGS前需要先了解BSGS。如果你还不了解BSGS或者对BSGS有什么疑问,可以看看我的BSGS讲解,我觉得基本是全网最详细的了。 我们知道,BSGS可以解决求ax=b(mod&amp;amp;amp;amp;nbsp;p)ax=b(mod&amp;amp;amp;amp;nbsp;p)a^x=b(mod\ p)的最小非负整数xxx,它的应用条件是要求底数aaa与模数ppp互质的,那么如果不互质应该怎么办呢?这时候就要用到扩展BSGS了。 ...原创 2018-06-03 21:00:03 · 2059 阅读 · 1 评论 -
BSGS学习笔记 数论
注:本篇均为博主个人的理解,如有错误,敬请斧正。BSGS是用来解决这样一个问题:ax=b(mod&amp;amp;amp;amp;amp;amp;nbsp;c)ax=b(mod&amp;amp;amp;amp;amp;amp;nbsp;c)a^x=b(mod\ c),求最小的非负整数x。BSGS是一种O(c√c\sqrt{c})的算法。它有解的条件是模数ccc为质数并且底数aaa与模数ccc互质。它的过程如下:令x=i∗m−jx=i∗m−jx=i*m-j,−j原创 2018-05-30 18:35:26 · 468 阅读 · 2 评论 -
miller_rabin学习笔记 数论
首先介绍一下miller_rabin算法。 miller_rabin是一种素性测试算法,用来判断一个大数是否是一个质数。 miller_rabin是一种随机算法,它有一定概率出错,设测试次数为sss,那么出错的概率是4−s4−s4^{-s},至于为什么我也不会证明。我觉得它的复杂度是O(slog2n)O(slog2n)O(slog^2n),因为你要进行sss次,每次要进行一次快速幂,每次快速幂...原创 2018-06-01 13:10:07 · 824 阅读 · 4 评论 -
洛谷2421 bzoj1407 NOI2002荒岛野人Savage 同余方程 扩展欧几里得
题目链接 题意就是有一些人每年按顺时针转若干个洞,求至少有多少个洞,才能使这些人在他们的有生之年会不会有两个人在同一个洞住。 转圈可以转化为同余问题,模数就是洞的数量。 根据题意,我们列出: ci+k∗pi=cj+k∗pj(mod&nbsp;m)ci+k∗pi=cj+k∗pj(mod&nbsp;m)c_i+k*p_i=c_j+k*p_j(mod\ m) 然后移项 k∗(pi−pj)=c...原创 2018-06-16 13:18:52 · 209 阅读 · 0 评论 -
pollard_rho学习笔记 数论
pollard_rho算法是用来解决质因数分解问题的。 我们知道,朴素的质因数分解是O(n−−√)O(n)O(\sqrt{n})的,但是如果nnn很大的话应该怎么办呢?这时候就要用到pollard_rho了。 pollard_rho也是一种基于随机的算法,它的思路是先用miller_rabin来判断当前数是否已经是素数了,如果是的话记录并返回。如果不是,我们设要分解的数为nnn,那么我们考虑去...原创 2018-06-02 14:47:39 · 1515 阅读 · 2 评论 -
模积和 洛谷2260 bzoj2956 整除分块、逆元
题意: 求∑i=1n∑j=1m(n&amp;nbsp;mod&amp;nbsp;i)∗(m&amp;nbsp;mod&amp;nbsp;j),i≠j∑i=1n∑j=1m(n&amp;nbsp;mod&amp;nbsp;i)∗(m&amp;nbsp;mod&amp;nbsp;j),i≠j\sum_{i=1}^n\sum_{j=1}^m(n\ mod\ i)*(m\ mod\ j),原创 2018-06-10 16:48:38 · 261 阅读 · 0 评论 -
洛谷3200 bzoj1485 HNOI2009 有趣的数列 卡特兰数
题目链接 题解: 手玩了一下小数据发现好像和卡特兰数有关。具体的原因是,我们把奇数和偶数位置上的数分别拿出来形成两个数列,那么要求就是这两个数列均为单调递增的并且偶数数列在对应位置上大于奇数数列。那么我们就从小到大往两个数列里填数,那么只要在对应位置上奇数数列先填数,偶数数列后填数即可得到一个满足题意的情况。而换句话说,就是必须奇数数列的该位置有数了,偶数数列的该位置才可能被填。那么我们把这个...原创 2018-07-01 16:03:55 · 177 阅读 · 0 评论 -
卢卡斯定理和扩展卢卡斯定理 学习笔记 数论 + bzoj3283运算器
卢卡斯定理: Cmn=C(n/p)(m/p)∗C(n%p)(m%p)(mod&amp;amp;amp;nbsp;p)Cnm=C(n/p)(m/p)∗C(n%p)(m%p)(mod&amp;amp;amp;nbsp;p)C_n^m=C_(n/p)^(m/p)*C_(n\%p)^(m\%p)(mod\ p) C(m+1)(n+1)C(m+1)(n+1)C_(m+1)^(n+1)原创 2018-06-28 14:24:08 · 782 阅读 · 1 评论 -
洛谷2480 bzoj1951 SDOI2010 古代猪文 数论+卢卡斯定理+CRT+费马小定理
题目链接 题意:给你一个nnn,一个ggg,求g∑d|nCdn%999911659g∑d|nCnd%999911659g^{\sum_{d|n}C_n^d}\%999911659 题解: 一道不错的数论综合题。 根据欧拉定理或者费马小定理,我们可以知道g∑d|nCdn≡g∑d|nCdn(mod 999911659−1)(mod 999911659)g∑d|nCnd≡g∑...原创 2018-06-28 20:40:47 · 166 阅读 · 0 评论 -
洛谷4774 BZOJ5418 NOI2018 屠龙勇士 扩展中国剩余定理 multiset
题目链接题意比较麻烦,感觉我来说也简单不了多少,就不说了,直接看原题吧。题解:一道题解咕了大半年的题,现在终于来补锅了。当时网上同步赛的时候我是真的菜啊,那时候就写了一些特殊性质的点,甚至连这是一堆同余方程之后求个最小解都没看出来。感觉这个题前面部分出的没什么意思,就强行拿个multiset来模拟算出每一次该用的是哪一把剑。确定了这个之后,我们来考虑这个回血的过程,我们发现和取模有点像。于...原创 2019-03-29 14:45:54 · 158 阅读 · 0 评论