上一页 1 2 3 4 5 6 7 ··· 9 下一页
摘要: 原题 题目链接 题目分析 由题可知要求解一下方程组 (x+d)≡p(mod23) (x+d)≡e(mod28) (x+d)≡i(mod33) 很明显23 28 33互质,因此这道题只需要用中国剩余定理的结论求出ans-x+d,最后ans-d之后用ans=(ans%lcm(23,28,33)+lcm( 阅读全文
posted @ 2019-08-31 08:56 VBL 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 结论 先举个例子:设小数x=0.316459665766576657...下划线部分为小数后不循环部分,记a=316459,位数m=6,加深部分为小数后循环部分,记b=6657,位数n=4.则分数为(a*10n+b-a)/10m(10n-1),最后约分即可. 原理 把先小数用分数表示.x=a/10m 阅读全文
posted @ 2019-08-30 22:17 VBL 阅读(446) 评论(0) 推荐(0) 编辑
摘要: 欧几里得算法-gcd gcd(a,b)=gcd(b,a%b),其中a为整数,b是不为0的整数. 证明: 如果a<b,a%b=a,明显有,gcd(a,b)=gcd(b,a). 如果a>=b,设a=k*b+r.设d为a,b的任意公因数,因为d|a,d|b,所以d|(a-k*b),因此d也是b和a%b的公 阅读全文
posted @ 2019-08-29 20:26 VBL 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 原理 Pollard Rho算法是一个非常玄学的算法(我个人还不是很懂其原理),作用是分解出一个数的非平凡因子(除1和它本身),通常作用于对大数的质因数分解.期望复杂度为O(n1/4).总体来说运行效果还是相当不错的. 算法核心:y=x,x=x*x+c.其中x,y初值是随机生成的,c也是随机生成的常 阅读全文
posted @ 2019-08-28 20:11 VBL 阅读(365) 评论(0) 推荐(0) 编辑
摘要: 原理 由费马小定理可知,若p为质数,对于任意与p互质的整数a,有ap-1≡1(modp),假设我们要测试的数是x,然后在1到p-1内随机生成一个数作为底数a,然后测试它是否符合费马小定理,如果不符合则一定不是素数,符合则有可能是素数.单纯用费马小定理检验素数出错率很高(指满足费马小定理又不是素数的数 阅读全文
posted @ 2019-08-28 19:15 VBL 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 欧拉函数 定义:φ(x)为1至x中与x互质的数的个数. φ(x)=x*∏(p为x的所有质因子)(1-1/p) 简单说明一下,这其实是利用了容斥原理.假设x只有两个不同的质因子p,q,1至x中p的倍数有x/p个,q的倍数有x/q个,把这些数去掉之后,我们也许会重复去掉一些小于x既是p的倍数又是q的倍数 阅读全文
posted @ 2019-08-27 21:34 VBL 阅读(1196) 评论(0) 推荐(1) 编辑
摘要: 原题 题目链接 题目分析 第一眼可能看不出是最小生成树,但仔细想想其实题目所要求的就符合最小生成树的性质.因此只需要用prim算出最小生成树,在求的过程中记录最小生成树中边的最大值即可. 代码 阅读全文
posted @ 2019-08-27 17:12 VBL 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 题目看似要求最大生成树,其实不然,输入时把所有边乘个-1,在求出来的最小生成树其实就是最大生成树了,只需要注意一下有可能无法生成连接所有点的树,这时候要输出-1. 代码 阅读全文
posted @ 2019-08-27 16:54 VBL 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 比较明显的最小生成树模板题,题目给的输入是邻接矩阵,处理一下用prim算法就可以算出最小生成树了. 代码 阅读全文
posted @ 2019-08-27 16:48 VBL 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 原题 题目链接 题目分析 给无向图,求次短路.相对于第k短路而言次短路还是好求的,只需要在跑dijkstra的过程中顺便记录次短路就行了. 代码 阅读全文
posted @ 2019-08-27 16:35 VBL 阅读(124) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 9 下一页