随笔分类 -  数论

摘要:注意:本题解仅供参考学习,请勿直接抄袭代码,否则造成的后果和笔者无关。 第一题: 题意: 对n个数升序排序。 题解: 快排,不解释。 代码(省略了输入输出函数,下同): 1 val n = getInt (); 2 val l = getIntTable (n); 3 fun qsort [] = 阅读全文
posted @ 2019-11-11 11:49 YuanZiming 阅读(1509) 评论(0) 推荐(0)
摘要:背景: 有时分解一个很大的合数,因为可能质因子很大,导致分解时复杂度不是严格O(log2n),需要用一点技巧使其复杂度得到保证。 做法: 在筛法求质数时,不用把质数存储成一张表,而用一个数组big[i]保存每个数(不管是质数还是合数)的最大质因数,接着在分解一个数x时,令y=x,之后不断地y/=bi 阅读全文
posted @ 2016-11-15 22:01 YuanZiming 阅读(1224) 评论(0) 推荐(0)
摘要:bzoj4459[Jsoi2013]丢番图 题意: 丢番图方程:1/x+1/y=1/n(x,y,n∈N+) ,给定n,求出关于n的丢番图方程有多少组解。n≤10^14。 题解: 通分得yn+xn=xy,即xy-xn-yn+n^2=n^2,即(x-n)(y-n)=n^2,故x-n是n^2的因数,所有答 阅读全文
posted @ 2016-08-17 22:47 YuanZiming 阅读(275) 评论(0) 推荐(0)
摘要:bzoj1968[Ahoi2005]COMMON 约数研究 题意: 定义f(x)=x的约数个数,求sigma(i,1,n)f(i)。n≤1000000 题解: 只要会思路这道题就很水。对于一个数i,它是n/i个数的约数,对答案有n/i的贡献。所以直接从1枚举到n累加n/i就行了。 代码: 20160 阅读全文
posted @ 2016-08-17 14:30 YuanZiming 阅读(169) 评论(0) 推荐(0)
摘要:bzoj4517[Sdoi2016]排列计数 题意: 求有多少种长度为n的序列 A,满足1~n在序列中各出现了一次,且序列恰好有m个数是稳定的(若第i个数A[i]的值为i,则称i是稳定的)。共T组数据,方案数模10^9+7。T=500000,n≤1000000,m≤1000000。 题解: 显然结果 阅读全文
posted @ 2016-08-16 22:18 YuanZiming 阅读(241) 评论(0) 推荐(0)
摘要:bzoj4591[Shoi2015]超能粒子炮·改 题意: 求(sigma(i,0,k)C(n,i))%2333。n,k≤1018 题解: 根据Lucas定理(我不会),C(n,k)%2333=C(n/2333,k/2333)*C(n%2333,k%2333),故可以进行一些化简(把模省去了) (s 阅读全文
posted @ 2016-07-24 21:54 YuanZiming 阅读(318) 评论(0) 推荐(0)
摘要:bzoj2299[HAOI2011]向量 题意: 有(a,b), (a,-b), (-a,b), (-a,-b), (b,a), (b,-a), (-b,a), (-b,-a)这些向量,问能否拼出另一个向量(x,y)。 题解: 裴蜀定理(我不会)(实际上是与解同余方程的知识相关的)。题目可以转化为用 阅读全文
posted @ 2016-07-24 20:05 YuanZiming 阅读(252) 评论(0) 推荐(0)
摘要:bzoj2705[SDOI2012]Longge的问题 题意: 给定一个整数N,求出∑gcd(i, N)(1<=i <=N)。 题解: 欧拉函数就是求比一个正整数且和它互质的正整数有几个,我不会,摘黄学长的题解: “ 题目中要求出∑gcd(i,N)(1<=i<=N)。 枚举n的约数k,令s(k)为满 阅读全文
posted @ 2016-07-22 20:31 YuanZiming 阅读(231) 评论(0) 推荐(0)
摘要:bzoj1406[AHOI2007]密码箱 题意: 输出1到n-1中平方后模n等于1的整数 题解: 设所求数x,化简得(x+1)(x-1)=n*k,设n1*n2等于k,(x+1)%n1==0,(x-1)%n2==0,因此n1、n2都为n的因数,且一个≤sqrt(n),一个≥(sqrt(n))。据说i 阅读全文
posted @ 2016-07-20 20:02 YuanZiming 阅读(286) 评论(0) 推荐(0)