数论
Sleppypot
困难的路越走越容易,容易的路越走越难。
展开
-
筛素数
#include #include #include #include using namespace std; int a[105]; int n; void init() { int m = sqrt(n+0.5); for(int i = 2;i <= m;i++) if(!a[i])//a[i]为质数! { for(int j = i原创 2016-07-15 12:35:33 · 231 阅读 · 0 评论 -
扩展欧几里得求逆元
#include #include #include #include #define ll long long const ll mod = 10007; using namespace std; ll exgcd(ll a,ll b,ll& x,ll& y) { if(b == 0) { x = 1; y = 0; re原创 2016-08-05 13:46:31 · 525 阅读 · 0 评论 -
422D
题意:f(i)表示有i个女孩比赛,若不分组,则应当比 次。但可以将他们分为x个组,每组i/x个人,每组分别进行比赛决出一个女孩,再将各个组决出的女孩进行比赛。给出t,l,r,求 t0·f(l) + t1·f(l + 1) + ... + tr - l·f(r). 解答:如果是素数,则无法分组,否则分为i/i的最小质因子组。i的最小质因子可通过筛素数的方法得出。 #include #inclu原创 2017-07-25 13:14:43 · 464 阅读 · 0 评论