数论
zzk_233
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
上帝与集合的正确用法 题解(扩展欧拉定理)
首先介绍一下欧拉函数和扩展欧拉函数(phi指的是欧拉函数) a^b = a^(b%phi(p)) gcd(a,p) == 1 (mod p) a^b gcd(a,p) != 1 b < phi(p) (mod p) a^(b%phi(p)+phi(p)) gcd(a,p) != 1 b &amp原创 2018-09-01 13:44:28 · 485 阅读 · 1 评论 -
bzoj 1856: [Scoi2010]字符串(构造+组合数)
比较有思维难度。。 因为最终一共n+m个字符串,相当于这是总步数,而最终全部放完之后1的个数于0的个数差为n-m,相当于目标位置, 设x步向上,y步向下,则x+y=n+m,x-y=n-m,所以x=n,y=m,也就是需要x步向上, 那么方案数为C(n+m,n),但是中间有不满足的方案,在图上表示就是路径经过了原点下方,也就是≤-1, 这种方案数可以把-1之前的点经-1对称,那么就是起点为(0...原创 2018-10-04 15:49:14 · 250 阅读 · 0 评论 -
约瑟夫问题(基于NOIP初赛题的改编)
什么鬼互测题系列。。这个我至少推出来了原创 2018-10-12 19:11:20 · 497 阅读 · 0 评论 -
模板:拓展中国剩余定理
设有n个式子。 然后当前进行到了这样。第一个式子表示它之前所有式子的集合,第二个是新来的式子。 那么可以转化成 我们希望求得一个x同时满足两个式子。所以可以这样转化两个式子(把x2想象成一个常数,x2倍的b2可以使x满足条件) 那么式子就变成了这样 这个式子就可以认为是 利用拓展gcd进行求解可以得到一个解,为他们的gcd。 那么的解集就可以表示为 。 然后...原创 2018-09-29 20:07:27 · 385 阅读 · 1 评论 -
裴蜀定理
给出n个数(A1...An)现求一组整数序列(X1...Xn)使得S=A1X1+...AnXn>0,且S的值最小。 其实就是这些数的gcd,因为根据gcd的定义。就是辗转相除也就是更相减损所以最后就是减出来的最小值。。。草率吧。 就这样了。。。 #include<cstdio> #include<cmath> #include<algorithm>...原创 2018-10-08 20:55:58 · 148 阅读 · 0 评论 -
NOI2018 DAY2 T1 屠龙勇士(拓展中国剩余定理)
到现在我才知道upper_bound和lower_bound的区别。。。 如果为升序,lower_bound指的是大于等于x的数,而upper_bound指的是大于x的数。 同理为降序,lower_bound指的是小于等于x的数,而upper_bound指的是小于x的数。 再来介绍一下拓展中国剩余定理。 本蒟蒻的证明。。。若有问题请大家提出。。https://blog.youkuaiyun.com/z...原创 2018-09-29 20:16:13 · 272 阅读 · 0 评论 -
bzoj 1951 [Sdoi2010]古代猪文
这是一道数论集合题 求式子,首先可以先用欧拉定理将式子降幂为指数mod (999911659-1)。 而对于指数可以在根号n的时间内枚举每个约数,对于每个约数求相应的组合数,可以用lucas定理来求解, 但是因为这个模数不是指数,所以把这个模数拆开,再用中国剩余定理合并就好了 注意的点是当g等于999911659时,这个定理不适用,但显然答案是0,所以要特判掉。 #include&...原创 2018-10-28 14:26:01 · 211 阅读 · 0 评论 -
bzoj 1477 青蛙的约会(exgcd模板)
exgcd裸题。 两个人之间有一个距离,两人有一个速度差,设这个距离为c,速度差为a。而需要的次数就是x 那么题意就是,这样就是exgcd的标准形式啦。 至于距离和速度差一定要记得是追及问题,如果距离为a-b,那么速度就是b的减a的,如果为负,就取模加模再取模,变为正的 含义上就是追了一圈。 #include<cstdio> #include<cmath> #i...原创 2018-10-28 15:03:00 · 452 阅读 · 0 评论 -
bzoj 2721: [Violet 5]樱花
根据题意推式子。。 ,然后通分,,之后打开合并,, 之后移项 设 所以 那么 因为x为整数,而一定为整数,所以要求后面的为整数,也就是有多少n的阶乘的平方的约数,就有多少解。 所以可以对1~n分解质因数,根据约数和公式,就是n的质因数的指数+1的乘积。 所以把1~n每个质因数的指数求和,平方就相当于个数*2,最后根据公式求乘积即可。 #include<cstdio>...原创 2018-10-28 16:09:29 · 179 阅读 · 0 评论
分享