随笔分类 -  简单数论

摘要:转换成1到n的约数和 写一下 F(1) = {1}; F(2) = {1, 2}; F(3) = {1, 3}; F(4) = {1, 2, 4}; F(5) = {1, 5}; F(6) = {1, 2, 3, 6}; 所以就是在求 (n/1) 1 + (n/2) 2+(n/3) 3+(n/4) 阅读全文
posted @ 2019-09-06 15:01 Minun 阅读(232) 评论(0) 推荐(0)
摘要:阶乘的逆元: 记 f[i] = i! mod p, g[i] = (i!)−1 mod p 容易发现 g[i] = g[i]+1∗(i +1) i−1 = f[i]−1∗g[i] 只需要算出 f[n],然后求出 f[n] 的逆元 g[n],然后递推即可。 阅读全文
posted @ 2019-08-17 08:55 Minun 阅读(269) 评论(0) 推荐(0)
摘要:b[n]表示1到n-1与n的gcd的和,所以dp[n]=dp[n-1]+dp[n]; a[i]表示与gcd(n, x)= i的x的个数; 所以b[n]=sum(a[i]*i) , 所以我们只需求a[i]即可; 根据gcd(n, x)=i >gcd(n/i, x/i) = 1, 因此仅仅要求出欧拉函数 阅读全文
posted @ 2019-08-13 20:59 Minun 阅读(306) 评论(0) 推荐(0)
摘要:连接:https://www.cnblogs.com/outerform/p/5921945.html 若n+1不是 质数的完全平方,则可将质因数分解成p1^a1*p2^a2*……pn^an,对于每个pi^ai,显然<n,且两两互质,所以p1^a1*p2^a2*……pn^an|L(n),所以n+1| 阅读全文
posted @ 2019-08-13 17:16 Minun 阅读(217) 评论(0) 推荐(0)
摘要:Miller_Rabin 测试素数:https://www.cnblogs.com/Norlan/p/5350243.html 模板:https://cn.vjudge.net/problem/HihoCoder-1287 阅读全文
posted @ 2019-02-28 21:15 Minun 阅读(154) 评论(0) 推荐(0)
摘要:题解思路:比较裸的中国剩余定理https://blog.csdn.net/niiick/article/details/80229217 #include#include#include#include#include#include#define mem(a,b) ... 阅读全文
posted @ 2019-02-21 16:40 Minun 阅读(148) 评论(0) 推荐(0)
摘要:题解思路:对于每个啊a[i]先对k取余;贝祖定理可知若 a1*x1+a2*x2+.....+an*xn==c;则 c|gcd(a1,a2,a3.....an);所以ans=(gcd*(0->k-1))%k;#include#include#include#includ... 阅读全文
posted @ 2019-02-21 10:26 Minun 阅读(141) 评论(0) 推荐(0)
摘要:题解思路:简单整理一下题意,就是让输出Cx≡(B-A)%(1#include#include#include#include#include#include#include#include#define ll long long#define int long lon... 阅读全文
posted @ 2019-02-21 08:44 Minun 阅读(157) 评论(0) 推荐(0)
摘要:题解思路:线段树维护,用矩阵求斐波那契值,tree和lazy都要存成矩阵来降低时间复杂度#include#include#include#include#include#include#include#include#include#define lson l,mid... 阅读全文
posted @ 2019-02-20 14:39 Minun 阅读(100) 评论(0) 推荐(0)
摘要:题解思路:首先这此题是不准出现前导0和连续俩个位为0;也就是 如果是101进制,表示(100)10是(100)100 是有效的;首先dp[i]表示第i位有多少个有效数字;若i-1位为0 有效的数字 dp[i-2]*(k-1);若i-1位不为0 有效的数字 dp[i-1... 阅读全文
posted @ 2019-02-20 08:53 Minun 阅读(118) 评论(0) 推荐(0)
摘要:题解思路:构造矩阵,矩阵乘法计算还是t;需要找循环节; (注意因为是复合函数,不可以在里面取mod)暴力跑只有可以找到g(222222224)%1e9==g(0)%1e9;所以 g(g(n)%222222224)%1e9==g(g(n));之后还可以跑出2个循环节... 阅读全文
posted @ 2019-02-18 15:42 Minun 阅读(150) 评论(0) 推荐(0)