随笔分类 -  数论

摘要:传送门 以下图片公式推导摘自洛谷题解 然后我觉得这道题就价值在如何求阶乘的因子个数。 实现的时候每次除一个p,就是从从p^k的倍数的个数变为求p^(k+1)的倍数的个数了。 最后统计答案时乘num*2+1,因为求的是(n!)^2的因子。 #include<bits/stdc++.h> #define 阅读全文
posted @ 2019-11-05 21:01 yyys 阅读(236) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-24 21:13 yyys 阅读(0) 评论(0) 推荐(0)
摘要:传送门 这道题很重要的是分析。 我们从(0,0)开始标号,最后格子为(n-1,n-1)。 一个点(x,y)如果看不到,说明x,y互质。 因为两半具有对称性,所以我们只用算一半。 求与x互质的个数,即是phi(x),预处理phi即可。 除了(1,1)(1,0)(0,1),其余用phi累加即可。 注意: 阅读全文
posted @ 2019-10-15 20:38 yyys 阅读(115) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-15 20:29 yyys 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-10-05 19:54 yyys 阅读(2) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-09-16 16:42 yyys 阅读(1) 评论(0) 推荐(0)
摘要:让我们先知道莫比乌斯函数是什么 莫比乌斯函数主要用于容斥的系数。是这样的一个函数 p为质因子,而且我们可以知道,如果n中含有平方因子,mu[n]=0 然后是莫比乌斯反演。 我们定义这样两个函数:F[],f[],满足 然后我们推导一下 可以发现g[N]=∑i|N F[i]*mu[N/i] 或g[N]= 阅读全文
posted @ 2019-08-30 19:39 yyys 阅读(138) 评论(0) 推荐(0)
摘要:传送门 很好地体现了正难则反的思想。 总共的状态是m^n,不发生越狱则是要与前一个的宗教不同,那么这一个监狱的选择是m-1种。 总共不越狱的状态是m*(m-1)^(n-1)。 越狱的就是m^n-m*(m-1)^(n-1) #include<bits/stdc++.h> #define LL long 阅读全文
posted @ 2019-08-30 19:08 yyys 阅读(128) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-30 18:54 yyys 阅读(1) 评论(0) 推荐(0)
摘要:不到四个小时A5道题还是很开心的虽然题都很简单 今天做题时做到一道名为P哥破解密码的题。 猜想如果数据小的话可不可以用数位DP做 设f[i][j]表示到第i个字母,在末尾有j个A的方案数 推出以下式子: f[i+1][0]=f[i][0]+f[i][1]+f[i][2]f[i+1][1]=f[i][ 阅读全文
posted @ 2019-08-29 21:33 yyys 阅读(162) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-29 19:28 yyys 阅读(1) 评论(0) 推荐(0)
摘要:模板题 用于求n个n元一次方程的解。O(n^3) 先说一下算法的过程,其实整个过程就是加减消元 先给出三个三元一次方程 手推可得到x=3,y=2,z=1。 可把系数和得到的值抽象成一个系数矩阵: 我们考虑依次消元,先把x消掉 保证精度,我们尽量把大的系数变化再在小的里加减,为了在程序中好写,把第i项 阅读全文
posted @ 2019-08-28 21:06 yyys 阅读(230) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-28 17:38 yyys 阅读(1) 评论(0) 推荐(0)
该文被密码保护。
posted @ 2019-08-27 17:40 yyys 阅读(0) 评论(0) 推荐(0)
摘要:虽然数论很辣鸡,也没刷什么题,但还是做一个小小的总结吧! EXGCD 这个版块其实没有专门去打题,感觉对于题目来说就是要抽象出对应的ax+by=c这样的方程吧!(目前还没有遇到什么特别奇特的题目) 以下附上证明: 逆元 求逆元其实有不同的方法,详细参见 中国剩余定理 中国剩余定理主要是起一个工具的作 阅读全文
posted @ 2019-08-06 21:57 yyys 阅读(215) 评论(0) 推荐(0)
摘要:传送门 求A^B的约数和%9901 这道题算是一道比较综合的题吧! 唯一分解定理那些的就不用说了 朴素求约数和: ^B就指数再乘个B好了 答案就是 然后get到一个新技能 A/B mod C = (A mod (B*C))/ B 简单证明: 然后还要注意的一点就是,计算的时候使用龟速乘,避免爆lon 阅读全文
posted @ 2019-08-06 21:49 yyys 阅读(725) 评论(0) 推荐(0)
摘要:传送门 模板题不解释 #include<bits/stdc++.h> #define LL long long using namespace std; int read() { int x=0,f=1;char s=getchar(); while(s<'0'||s>'9'){if(s=='-') 阅读全文
posted @ 2019-08-06 21:48 yyys 阅读(147) 评论(0) 推荐(0)
摘要:传送门 算是一道比较综合的数论题了吧!用到了欧拉定理,中国剩余定理,卢卡斯这些。 但整道题还是很简单的。 (图片摘自洛谷博客) 题目大意是求 因为指数太大但它是个质数,我们考虑用欧拉定理的推论得到 因为与组合数有关,我们会想到用卢卡斯定理,但是999911658这个模数太大(好像卢卡斯模数是可以做1 阅读全文
posted @ 2019-08-06 21:45 yyys 阅读(306) 评论(0) 推荐(0)
摘要:又称北上广深或拔山盖世 运用了分块思想 至于i,j的范围,还是要说一下 i是1到sqrt的左闭右闭,因为是枚举一块一块的(大步),所以显然 j是0到sqrt的左闭右开,因为零散的可有可无,而如果可以取到sqrt的话,为什么不并入i中呢? #include<bits/stdc++.h> #define 阅读全文
posted @ 2019-08-06 21:31 yyys 阅读(322) 评论(0) 推荐(0)