![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数论题
沐兮Krystal
这个作者很懒,什么都没留下…
展开
-
Codeforces D. Two Divisors (数论,线性筛)
https://codeforces.ml/contest/1366/problem/D (题目链接如上↑) 题解: 1.首先,gcd(x,y)=gcd(x+y,x*y) 证明如下: gcd有两点性质: (1) gcd(a,b)=gcd(a-b,b),gcd(a,b)=gcd(a+b,b) (2) 若gcd(a,c)=1,则gcd(a,bc)=gcd(a,b) 下面正式开始证明: 由性质1可得: gcd(x,y)=1 -> gcd(x+y,y)=1 由性质2可得: gcd(x+y,xy)=gcd(x+原创 2020-06-13 19:37:13 · 583 阅读 · 0 评论 -
Halloween treats(抽屉原理)
https://vjudge.net/contest/374932#problem/B (题目链接如上) 题意: 给定邻居的糖果数,求糖果数和为c的倍数的邻居的下标 题解: 运用抽屉原理。 先求出数组a的前缀和sum; sumk=a1+a2+a3+…+ak; (1)若sumk==0,则直接取1~k的区间下标; (2)若sumk!=0,则sumk%c的值r,r的取值在1~k-1; 而sum1,sum2,sum3…sumk有k个数,则至少有两个数相同; 即一定有sumi=sumj,也即sumi%c=sumj%c原创 2020-05-27 19:42:37 · 226 阅读 · 0 评论