数论
文章平均质量分 93
Deep_Kevin
我太弱了
展开
-
数论专题总结
正题总结一下常见的算法和定理,不作证明与解释素数判定-Miller Rabbin算法大纲不作要求要判定 nnn 是否为质数,随机一个数 xxx ,看是否为 111 ,如果是,若可以将其开方那么就开,根据二次探测定理,x2≡1(mod p)x^2\equiv1(\mod p)x2≡1(modp) 当且仅当 x=1x=1x=1 或 p−1p-1p−1 ,那么就可以检测,代码如下。bool MR(int n){ if(n<3) return n==2; int a=n-1,b=0; whi原创 2021-06-29 16:50:47 · 177 阅读 · 0 评论 -
首师大附中集训第七天综合模测
综合模测 第一题:Alice和Bob是好朋友,她们经常喜欢在一起玩石子游戏。这一次他们想出了一个新 玩法:有若干堆石子,要求每次在一堆数量不为1的石子堆中取出石子,假设这堆石子 的个数是x,那么允许取的个数为正整数d,要求d|x且d ≠ x。如果没有办法再取石子了, 需要操作的那一方就输了。 游戏初始有m堆石子,每堆石子的个数均为1到n之间的正整数。Alice和Bob都是绝 对聪明的...原创 2019-07-29 20:34:54 · 668 阅读 · 0 评论 -
[HAOI2008]圆上的整点,bzoj1041,巧妙的公式转化
正题 发现题目给出了一个公式,这是一个平面圆的公式。 现在就要对它搞事情。 其中d为最大公约数。 继续,我们发现y是一个整数,d是一个整数,中间那两坨东西互质,然后我们就会发现可以表示成: 加起来,发现: 现在枚举变得很轻松,我们枚举一下d,枚举一下a,求一下b看一下是否为整数,是否...原创 2019-06-27 21:52:01 · 226 阅读 · 0 评论 -
[SCOI2009]游戏,bzoj1025,最小公倍数与分组Dp
正题 很显然我们的任务就是找到一组,求有多少种。 倒过来想,假如lcm被拆成了,那么求出一组满足的a,和最小的必定是。 那么就很好做了,直接Dp,定义为前i个质数,和为j的方案数总和。 转移就是#include<cstdio>#include<cstdlib>#include<cstring>#...原创 2019-06-26 21:21:13 · 179 阅读 · 0 评论 -
函数,2019NOI金牌营1第二题,数论求和
正题 题目传送门 我们需要先知道一个东西这个指的是所有质因子的幂次都不低于2的数。 通过简单积分可以证明1到n的powerful number的总数是级别的。 然后我们就知道,如果我们可以构造出两个函数。使得G在的值为0. H的前缀和很好计算,且(狄利克雷卷积。 这样就可以用乘常数的时间算出来F的前缀和了。...原创 2019-07-01 22:00:52 · 258 阅读 · 0 评论 -
学习笔记第四十一节:数学问题
引子 这里的东西很杂,只供复习,感兴趣的朋友也可以看一下。正题线性求逆元 然后循环过一遍就可以了,如果一时间证不出来,可以先处理阶乘和阶乘的逆元,然后通过来得出答案。卢卡斯定理的证明 先考虑一个这样的东西:。 那么。 两边的x的次幂项的系数相等,考虑在左边的的系数,只可能被右边的两项的...原创 2019-05-09 21:48:23 · 373 阅读 · 0 评论 -
学习笔记第四十三节:Min_25筛
正题 听说这个东西是最近几年,某个大佬Min_25提出的,帮助我们解决了许多积性函数前缀和问题。 为了方便,我们以loj6053:简单的函数一题来讲一讲什么是Min_25筛。 首先,正如开头所提到的,Min_25筛是用来解决积性函数前缀和问题的。而且,根据我的了解,这个积性函数要满足下面几个性质:1.对于一个质数,一定要是关于p的一个多项式;2.对于一个质...原创 2019-04-24 19:33:01 · 323 阅读 · 0 评论 -
苏州省选集训营第一天课件解析
回头看看自己真菜。 ---题记正题 1.类欧几里得算法 2.中国剩余定理 3.简单的数论方法 4.狄利克雷卷积与反演例题 1.一个人的数论: 给出n的质因数分解:,求。 这条式子卷上mu。 然后我们发现后面那个sigma的值只...原创 2019-04-26 17:22:17 · 221 阅读 · 0 评论 -
学习笔记第四十五节:类欧几里得算法
正题 注意本文有些时候对[]的定义不太准确,有时候指的是向下取整,有时候指的是判断符号,当然看一看里面有没有<,>,<=,>=...就可以区分,不太严谨,望周知。 现在我们要解决这样一个问题: 我们考虑当的时候,应该怎么做。 很明显直接把它拆开来: 那么我们就得到了一条式子。...原创 2019-04-26 17:09:54 · 261 阅读 · 0 评论 -
苏州省选集训营第一天题解
正题 只补了两题,第三题是一道交互题没办法补,但还是会讲思路。 第一题:做法就是我们考虑到如果每个人都可以获胜那么i连到pi的这张有向图必定是一个环,那么我们就是要在一个环里面分配点对使得在n组点对中有k组是相邻的。由于对于每一个环的答案都是相同的,比如说(1->2->3->1,1->3->2->1),因为分配的方案与点的顺序无关,那...原创 2019-04-26 15:48:20 · 289 阅读 · 0 评论 -
首师大附中集训第八天综合测试
综合测试 第一题:给出一个长度为 N 的序列 A[n]和 M 个操作,操作分为两种类型: 类型一,给出参数 l r k b 对于 l 到 r 之间(闭区间)的所有数 i ,令 A[i] = max(A[i],k*(i-l)+b ) 类型二,给出参数 l r, 求出 A[l] 到 A[r] 共(r-l+1)个数之中的最大值。 我们用线段树维护,每一个节点维护当前的直线,如...原创 2019-07-29 18:27:59 · 227 阅读 · 0 评论 -
首师大附中集训第四天综合测试
综合测试 考试的前一天老师说今天的题比NOI稍微简单一些。 第一题,给你n,要你求。定义为其所有约数的异或和。. 这题还是比较简单的,直接数论分块,讨论那些为奇数就行了。 求前缀和的时候考虑相邻两个数(偶奇)的异或和为1.然后讨论一下情况就可以了。#include<cmath>#include<cstdio>...原创 2019-07-29 20:25:46 · 243 阅读 · 0 评论 -
首师大附中集训第六天专题测试
专题测试 第一题:大家都知道田忌赛马的故事,田忌和齐王又要赛马了,他们将各派出 N 匹马,每场比赛输 的一方需要给赢的一方 200 两黄金,平局的话双方都不比出钱,已知所有马的速度,且齐王 的出马顺序永远固定,求田忌的最大收益。 有一个很显然的贪心算法,就是将它们两个序列从大到小排序,比较当前齐王最大的和田忌最大的。如果田忌的比齐王的大,那么就拿出来比。如果田忌最小的比...原创 2019-07-29 20:31:21 · 240 阅读 · 0 评论 -
首师大附中集训第十六天综合模测
正题 第一题:.字符串复制 定义一次变换:。 现在给出,问令的最小的是多少。 首先判断无解的方法就直接看一下下面出现字符的顺序是否可以对上S0中的一个子序列。 如果有的话,那么就可以构造一组解。考虑第一次变换之后是什么样子的:对于一个t中的连续子段必定对应一个S0中的位置x,那么我们将覆盖,我们没办法覆盖下一个x的位置,否则下一...原创 2019-08-07 18:28:00 · 232 阅读 · 0 评论 -
首师大附中集训第七天:最小生成树
正题 “诶,今天讲最小生成树哎。不听了,我刷我自己的题。。”------来自某位神犇。 太难了。 求解最小生成树有两种方法Kruskal和Prim算法,图较为稀疏的情况下,我们一般选择前者。图较为稠密的情况下,我们一般选择后者。 只讲一些我原先不懂得例题。(即使我懂的也就那几道。。。 例题1:动态图连通性 给定一个...原创 2019-07-28 21:35:47 · 269 阅读 · 0 评论 -
首师大附中集训第十一天:OI炼金术
正题 今天给我们上课的老师很有趣。 交给我们不只是一些题,还有一些题的入手方法,如何把题面转化为题解才是最重要的。 OI选手经常遇到的痛点 看了题解之后:啊,好简单,我咋没想到呢? 这题我想出来了,但是那个***我不会写啊?!!! 咦?好像有bug……(an hour later)怎么还调不对啊!zbl ...原创 2019-08-01 20:11:32 · 386 阅读 · 0 评论 -
首师大附中集训第十一天综合测试
正题 第一题:Door Street 是一条繁华的街道,沿街一共有栋大楼,编号依次为 ,相邻两栋楼编号相邻。 现在你想在 Door Street 开一家咖啡厅,你可选址在任意一栋楼内。每栋楼都有一个消费指数 。若你 选址在第x号楼,则第i号楼的人在你的咖啡厅消费 ,你的收入是 n 栋大楼的 人的消费总和,即 。 对于每栋大楼,你想评估出你若选址在该大楼,你的收入分别是多少? ...原创 2019-08-01 19:22:33 · 245 阅读 · 0 评论 -
首师大附中集训第十天专题测试
专题测试 第一题:整数的 lqp 拆分整数拆分是个很有趣的问题。给你一个正整数 N,对于 N 的一个整数拆分就是满足任意 m>0, a1,a2,a3…am>0,且 a1+a2+a3+…+am=N 的一个有序集合。通过长时间的研究我们 发现了计算对于 N 的整数拆分的总数有一个很简单的递推式,但是因为这个递推式实在太 简单了,如果出这样的题目,大家会对比赛毫无兴趣的。 然后...原创 2019-07-31 21:09:33 · 280 阅读 · 0 评论 -
首师大附中集训第九天专题测试
正题 第一题:有 n 个数字,a[1],a[2],…,a[n]。有一个集合,刚开始集合为空。然后有一种操作每次向 集合中加入一个数字或者删除一个数字。每次操作给出一个下标 x(1 ≤ x ≤ n),如果 a[x]已 经在集合中,那么就删除 a[x],否则就加入 a[x]。 问每次操作之后集合中互质的数字有多少对。 注意,集合中可以有重复的数字,两个数字不同当且仅当他们的下标不同。 比...原创 2019-07-30 19:58:28 · 305 阅读 · 0 评论 -
学习笔记第四十七节:斐波那契数列的性质
正题 今天碰到了一个很恶心的斐波那契数列的题,现在来讲讲斐波那契数列的性质。 递推式 通项公式 证明不会 矩阵转移 对于一个可以线性转移的式子,加入要求第n项,普通方法的时间复杂度是,k是线性转移单次代价。 我们可以用矩阵做到。 比如说斐波那契矩阵就是。...原创 2019-07-30 18:58:26 · 940 阅读 · 0 评论 -
首师大附中集训第十二天综合模测
正题 第一题:分则能成 这是之前写过的blog。 第二题:明辨是非 这题一开始想了很久,脑子里全是分块并查集,然后不断的把关系丢来丢去,很麻烦,其实只用考虑当前的一张关系图,有一些白边表示相等,有一些黑边表示不相等,首先我们可以把白边联通的点用并查集缩起来,然后考虑缩点之间的黑边,直接用set记录每一个联通块的黑出边就可以了,合并两个联通块的...原创 2019-08-02 19:53:13 · 212 阅读 · 0 评论 -
Gcd表中的质数,51nod1192,数论+莫比乌斯反演
正题 这题很水。 推一推公式: 后面那个东西预处理狄利克雷卷积就可以了。#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>using namespace std;int T;cons...原创 2019-07-24 21:29:41 · 206 阅读 · 0 评论 -
学习笔记第四十一节:Min-Max反演
正题 我们探究着反演的奥妙,突然发现有一条式子,很奇怪: 接着,有一群人就把它们推广成普遍的式子: 我们就可以做很多事情了: 比如说遇到一些max值很难求出来的,而且min值很容易得到的,我们可以通过Min-Max反演来枚举子集使得其算出max值。 就像这一题:[HAOI2015...原创 2019-03-27 20:03:21 · 1092 阅读 · 0 评论 -
学习笔记第三十九节:快速沃尔什变换(FWT)
正题 我们学会了快速傅立叶变换,狄利克雷卷积,现在我们来解决一下快速沃尔什变换。 它主要是解决这样的问题的:。 也就是说 其中那个你看不懂的符号指的是三则运算的其中一种:or,and,xor。 怎么做? 我们来模仿一下解决多项式乘法的过程,我们先是把原数组做一次傅立叶变换,然后再相乘,最后再做一次逆变换。 ...原创 2019-01-22 15:18:56 · 435 阅读 · 0 评论 -
玩游戏,洛谷P4705,NTT+生成函数+可怕的公式推导+可怕的代码
正题 这个游戏整整玩了我三天。 题意就是要你求。还要你求。那我们暂且先不理会nm这玩意儿。 利用二项式定理,化简一下可以得到: 看到了喜闻乐见的卷积形式,但是我们难以求出可用于卷积的两个数组。 这个其实可以用生成函数来解决,在我的博客中就以这个模型来介绍生成函数,大家可以看看。 所以我们最后再用这两...原创 2019-01-24 16:20:49 · 306 阅读 · 0 评论 -
nim游戏,洛谷P2197,博弈论?数论?贪心?
正题 这题有一个结论:就是异或和不为0的先手必胜,否则后手必胜。 因为异或和不为0时,可以通过取走一些石子使得异或和为0,接下来后手取完之后,先手继续取到异或和为0.#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>usin...原创 2018-11-05 20:26:55 · 204 阅读 · 0 评论 -
[HNOI2009]有趣的数列,洛谷P3200,Catalan+简化公式
正题 题目传送门 因为所有奇数项是升序的,所以 又因为奇数项小于偶数项 所以每个偶数位都能插在所对应奇数项的后面,换一种说法,就是把2*n个数从小到大排好序,把奇数项和偶数项丢进去,使得每一个前缀,奇数项的个数都比偶数项多。 求Catalan数有4个公式。(点链接查看) 其中有两个组合数公式是在一起的。 ...原创 2018-10-25 20:19:17 · 348 阅读 · 0 评论 -
[Hnoi2017]礼物,bzoj4827,FFT
正题 看题,发现有两个操作: 1.把第二个序列旋转。 2.把第一个序列整体+c。 因为旋转只用一个旋转就够了。 发现什么。 所以使xy的和最大即可。 假设表示第二个序列向有旋转i位的价值。 那么就有 不是卷积的形式。 那么怎么办,让,。 ...原创 2018-09-21 21:20:22 · 210 阅读 · 0 评论 -
睡觉困难综合征,洛谷P3613,树链剖分+树上较复杂合并
正题 一看到这题就心碎emm,好好睡觉不行吗。。。 关键看完这道题,你就要想到,用树链剖分+线段树来维护,因为在这方面线段树是最灵活而且是最万能的。我们就要想,怎么去进行线段树合并。 首先,您不可能建2^64个线段树。然后第i个线段树维护i经过这个线段树的某个区间所留下来的值。 这样的时间复杂的虽然比起暴力来好像快很多,但是细想还是不行。 想着拆位...原创 2018-06-13 20:26:44 · 256 阅读 · 0 评论 -
有趣的数,洛谷之提高历练地,神奇的解法
正题 有趣的数有趣的你 这一题一点也不有趣,跟我们班的可爱的同学们解释了半天,我们来理解理解。 我们来找一下规律,当n是几位的时候,它带来的贡献(在k前面的数)是多少。没错,很容易发现绿色的部分是当n的位数小于k的位数时,带来的贡献是,k的前n位-10的n-1次方加一。否则就直接是(k-10^(k-1))*(10^(n-k)),那么我们就可以算出来n是几位数,按理推出...原创 2018-04-20 14:17:25 · 245 阅读 · 0 评论 -
树的重量,洛谷之提高历练地,较复杂图论I
正题 第二题:树的重量 没错这题代码很短。。。 我们先考虑两个点的连边,很明显就是随意的,因为两个点之间的连线始终都是要算上去的。 所以我们先假设先选1,2. 然后我们加入3,这个点,那么他分支出来的距离也是很好求出来的。当前1到2的距离是y,1到3的距离是z,2到3的距离是q,我们如果可以求得x,那么树的重量要增加的值也可以求出来了。学过容斥原理...原创 2018-04-12 11:47:01 · 232 阅读 · 0 评论 -
斐波那契公约数,洛谷之提高历练地,数论(3-5)
正题 第五题:斐波那契公约数 我们回想一下斐波那契的数列,关于他的求法和性质,可以知道,它是可以用矩阵乘法来求的。 因为f[i]=f[i-1]+f[i-2].所以我们就可以构造出这样一个矩阵。没错。因为矩乘就是这样,第一个方阵的i行乘上第二个方阵的j列,得出结果方阵的i行j列。代码<简短但是很简单>#include<cstdio>#incl...原创 2018-04-08 09:40:22 · 197 阅读 · 0 评论 -
计算系数,洛谷之提高历练地,数论(3-5)
正题 第四题:计算系数 做这道题之前先要明白一个东西,杨晖三角型的第i行表示的正是(x+y)的(i-1)次方的系数。 斐波那契搞一搞发现不会超时。 注意数量关系,建议做题之前先要理清思路。#include<cstdlib>#include<cstdio>#include<cstring>int s[1010][10...原创 2018-04-07 17:33:06 · 192 阅读 · 0 评论 -
阶乘问题,洛谷之提高历练地,数论(3-5)
正题 第三题:阶乘问题 这道题是水题。我们只要统计出2和5的数量取个最小值,再用一个tot记录其他积的最后一位。后面明显分类讨论一下就可以得出答案。 发现,乘2的尾数是(2,4,8,6),而乘5的尾数是(5,0),明显。代码<satisfaction>#include<cstdio>#include<cstdlib>#incl...原创 2018-04-07 17:29:33 · 189 阅读 · 0 评论 -
又是毕业季II,洛谷之提高历练地,数论(3-5)
正题 第二题:又是毕业季II 这题就没有什么好说的了,就是找出因子,做一个桶把他们都统计起来,当寻找i个同学时,就把累计数大于i的因子相乘输出即可代码<随便乱搞>#include<cstdio>#include<cstdlib>#include<cstring>int n;int tot[1000010];int an...原创 2018-04-07 17:24:08 · 184 阅读 · 0 评论 -
学习笔记第三十五节:数论进阶以及狄利克雷卷积
正题 这节学习笔记我们来研究一下数学。数论 先介绍两个狭义上的集合:,前者表示的是完全剩余系,也就是,而后者表示的是简化生育系,也就是保留下来那些与n互质的数。比如说: 接着我们记为内与n互质的数。显然 逆元 若,那么我们称a为x在模n意义下的逆元。 可以证明x在模n意义下有逆元,当且仅当(互质)。 ...原创 2018-12-20 17:00:05 · 974 阅读 · 0 评论 -
YY的GCD,洛谷P2257,莫比乌斯反演+狄利克雷卷积
正题 题目要求这个东西 其实就是求 根据 换出来变成 枚举d变成 设,那么就变成 发现做不了。 看一下后面的东西,我们把它设成 那么 很明显发现 prime函数指的是第i位是否为质数,是则为1,否则为0. 然后整除分...原创 2018-12-21 16:13:30 · 295 阅读 · 0 评论 -
学习笔记第四十节:生成函数
正题 以前讲的东西并不是没有道理,但是如果要更严格地讨论生成函数,我们就要学习他的定义。 普通生成函数: 指数生成函数: 指数生成函数就是普通生成函数多了一个。 这个暂时先记下来,后面再讲有什么用。 先讲讲组合数卷积 如果题目给出两个多项式,要你求他们的组合数卷积,什么意思呢? 也就是给...原创 2019-01-24 16:06:11 · 671 阅读 · 0 评论 -
[HEOI2016/TJOI2016]求和,洛谷P4091,第二类斯特林数与FFT
正题 这题的目的很明了: 求。 首先我们要知道,关于证明可以参考我的博客。 然后换进去: 交换枚举顺序: 然后就可以发现后面的东西可以直接设为,而设。 那么。 预处理G函数,和H函数,H函数的上面相当于一个等比数列求和,当时,等于0.时,等于。否则等于。...原创 2019-01-08 12:54:16 · 387 阅读 · 1 评论 -
学习笔记第三十七节:快速傅里叶变换
正题 解决问题:for(int i=0;i<n;i++) for(int j=0;j<n;j++) h[i+j]+=f[i]*g[j]; 前置知识 定义,其中i为负数单位。 在这里我们假设z是一个复数,也就是说 ,Re为实部,Lm为虚部。 加减法就是对应相加减:也就是说 但是乘法...原创 2019-01-03 14:02:47 · 588 阅读 · 0 评论