![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论
郭晋龙
压力面前保持优雅
展开
-
ACM-ICPC 数论部分总结
数论最经典的当然是素数的判定等等吧! 素数: 埃筛--------------埃拉托斯特尼筛法,或者叫埃氏筛法 原理:如果找到一个质数,那么这个质数的倍数都不是质数 #include<cstdio> const int N = 100000 + 5; bool prime[N]; void init(){ for(int i = 2; i < N; i ++) prime[i] = true; for(int i = 2; i*i < N; i +.原创 2021-11-19 21:36:36 · 1413 阅读 · 0 评论 -
CodeForces - 577B Modulo Sum(鸽巢原理+背包DP)
题目: 思路分析: 根据鸽笼原理来看 n大于m时候一定可以 然后可以利用dp来干 dp i j 代表前i个数 mod m为j的情况是否存在要看 前面是否存在 ((j-ai)%modm+m)modm是否存在 代码实现: /* *@Author: GuoJinlong *@Language: C++ */ //#include <bits/stdc++.h> /* * __原创 2021-11-18 17:54:17 · 353 阅读 · 0 评论 -
数论总结(快速幂+gcd+lcm+进制转换+素数筛选)
快速幂: //fastPow int fastPow(int x,int n){ if(n==1) return x; int tmp=fastPow(x,n/2); //fenzi if(n%2==1) return tmp*tmp*x; else return tmp*tmp; } gcd 求最大公约数: //gcd int gcd(int a,int b){ return b==0?a:gcd(b,a%b); } lcm求最小公倍数: //lcm原创 2021-09-24 15:39:20 · 246 阅读 · 0 评论