随笔分类 -  数学 数论

摘要:【题目】E. Present for Vitalik the Philatelist 【题意】给定n个数字,定义一种合法方案为选择一个数字Aa,选择另外一些数字Abi,令g=gcd(Ab1...Abx),要求满足g≠1且gcd(Aa,g)=1,求方案数取模1e9+7。2<=n<=5*10^5,2<= 阅读全文
posted @ 2017-12-05 13:50 ONION_CYC 阅读(790) 评论(1) 推荐(3)
摘要:推荐:数论知识总结——史诗大作(这是一个flag) 【欧几里得算法】辗转相除法 1.被整除数的性质:若c|a,c|b,则c|(ma+nb) 整除数的性质:若a|c,b|c,gcd(a,b)=1,则ab|c。(否则lcm(a,b)|c) 2.gcd的定义 若c|a,c|b,则c为a和b的公因数。当c能 阅读全文
posted @ 2017-12-04 20:57 ONION_CYC 阅读(1383) 评论(0) 推荐(0)
摘要:【题目】C. Superior Periodic Subarrays 【题意】给定循环节长度为n的无限循环数列,定义(l,s)表示起点为l的长度为s的子串,(l,s)合法要求将子串从该起点开始以s为循环节长度无限循环中每个数字都>=数列中对应位置的数字,求合法(l,s)的数量。0<=l<n,1<=s 阅读全文
posted @ 2017-12-01 18:57 ONION_CYC 阅读(385) 评论(0) 推荐(0)
摘要:【题意】已知n次方程(n<=100)及其所有系数(|ai|<=10^10000),求[1,m]中整数解的个数(m<=10^6)。 【算法】数论 【题解】如果f(x)=0,则有f(x)%p=0。 所以取若干个素数p,将所有数字读入取模并快速计算出所有f(x)%p,若均为0则认为f(x)=0。 优化:利 阅读全文
posted @ 2017-11-03 15:19 ONION_CYC 阅读(261) 评论(0) 推荐(0)
摘要:【题意】给定n,求∑gcd(i,n),(1<=i<=n),n<=2^32 【算法】数论(欧拉函数,gcd) 【题解】批量求gcd的题目常常可以反过来枚举gcd的值。 记f(g)为gcd(i,n)=g的i的个数,则有ans=∑f(g)*g,g|n。 gcd(i,n)=g即gcd(i/g,n/g)=1, 阅读全文
posted @ 2017-10-14 07:27 ONION_CYC 阅读(180) 评论(0) 推荐(0)
摘要:第一题 n个m位二进制,求异或值域总和。 【题解】异或值域 >使用线性基,解决去重问题。 m位二进制 >拆位,每位根据01数量可以用组合数快速统计总和。 #include<cstdio> #include<cstring> #include<cctype> #include<cmath> #incl 阅读全文
posted @ 2017-10-09 14:26 ONION_CYC 阅读(431) 评论(0) 推荐(0)
摘要:【题目】洛谷10月月赛R1 提高组 【题意】求n!在k进制下末尾0的个数,n<=1e18,k<=1e16。 【题解】考虑10进制末尾0要考虑2和5,推广到k进制则将k分解质因数。 每个质因数在n!中的数量,以2为例是n/2+n/4+n/8...这样统计。(含x个就被统计x次) 最后得到凑出的k的个数 阅读全文
posted @ 2017-10-08 17:57 ONION_CYC 阅读(232) 评论(0) 推荐(0)
摘要:【算法】数学+线段树/树状数组 【题解】 首先三个操作可以理解为更相减损术或者辗转相除法(待证明),所以就是求区间gcd。 这题的问题在线段树维护gcd只能支持修改成一个数,不支持加一个数。 套路:gcd(a,b,c,d,e)=gcd(a-b,b-c,c-d,d-e,e),也就是所有数的gcd可以转 阅读全文
posted @ 2017-09-10 18:58 ONION_CYC 阅读(274) 评论(0) 推荐(0)
摘要:【算法】数论,二分图最大匹配 【题意】有无限张牌,给定n张面朝上的牌的坐标(N<=100),其它牌面朝下,每次操作可以选定一个>=3的素数p,并翻转连续p张牌,求最少操作次数使所有牌向下。 【题解】 1.定义bi,当ai和ai-1的朝向相同时,bi=0,否则bi=1。特别的,a0朝向下。 则问题转化 阅读全文
posted @ 2017-08-13 09:03 ONION_CYC 阅读(531) 评论(0) 推荐(2)
摘要:【题意】给定长度为n的序列A,求最长的区间满足区间内存在数字能整除区间所有数字,同时求所有方案。n<=5*10^5,Ai<2^31。 【算法】数论??? 【题解】首先一个区间的基准数一定是最小的数字。 以一个数字为基准数,左右扩展到的区间内的数字都不能再作为基准数(不会超过此时的区间,为同一个)。 阅读全文
posted @ 2017-08-10 16:38 ONION_CYC 阅读(157) 评论(0) 推荐(0)
摘要:【算法】博弈论+数论 【题意】给定n个石子,两人轮流操作,规则如下: 轮到先手操作时:若石子数<p添加p个石子,否则拿走p的倍数个石子。记为属性p。 轮到后手操作时:若石子数<q添加q个石子,否则拿走q的倍数个石子。记为属性q。 拿走所有石子的人胜利,问先手是否必胜,或输出游戏会永远进行下去。 【题 阅读全文
posted @ 2017-07-28 12:04 ONION_CYC 阅读(322) 评论(0) 推荐(0)
摘要:【算法】Catalan数 【题解】 学了卡特兰数就会啦>_<! 因为奇偶各自递增,所以确定了奇偶各自的数字后排列唯一。 那么就是给2n个数分奇偶了,是不是有点像入栈出栈序呢。 将做偶数标为-1,做奇数标为+1,显然当偶数多于奇数时不合法,因为它压不住后面的奇数。 然后其实这种题目,打表就可知啦……Q 阅读全文
posted @ 2017-07-20 22:31 ONION_CYC 阅读(362) 评论(0) 推荐(0)
摘要:【题意】给定G,N,求: $$ans=G^{\sum_{i|n}\binom{n}{i}}\ \mod\ \ p$$ 1<=N,G<=10^9,p=999911659。 【算法】欧拉定理+组合数取模(lucas)+中国剩余定理(CRT) 【题解】 先考虑简化幂运算,因为模数为素数,由欧拉定理可知G^ 阅读全文
posted @ 2017-07-17 16:22 ONION_CYC 阅读(404) 评论(0) 推荐(2)
摘要:【算法】中国剩余定理 【题意】给定n件物品分给m个人,每人分到wi件,求方案数%p。p不一定是素数。 【题解】 首先考虑n全排列然后按wi划分成m份,然后对于每份内都是全排列,除以wi!消除标号影响,注意剩余的(n-W)也视为一份。 所以ans=n!/(w1!w2!...wm!(n-W)!)%p 也 阅读全文
posted @ 2017-07-16 22:18 ONION_CYC 阅读(575) 评论(0) 推荐(3)
摘要:【算法】欧拉函数 欧拉线性筛 【题解】将图从左至右,从下至上,分别标号0~n-1。 除了坐标0,一个点会被观察到当且仅当其坐标(i,j)的i与j互质,否则会被(i/d,j/d)挡住。 所以累加2~n-1的欧拉函数,再在处理左下角三个点即可。 #include<cstdio> #include<alg 阅读全文
posted @ 2017-07-08 15:09 ONION_CYC 阅读(163) 评论(0) 推荐(0)
摘要:【算法】组合数取模——lucas定理 #include<cstdio> #include<algorithm> #include<cstring> using namespace std; const int p=10007; int fac[p+10],inv[p+10]; void gcd(in 阅读全文
posted @ 2017-07-08 14:13 ONION_CYC 阅读(223) 评论(0) 推荐(0)
摘要:【算法】扩展欧几里德算法(模线性方程) 【题解】http://hzwer.com/2121.html 一些问题写在http://www.cnblogs.com/onioncyc/p/6146143.html PS:下述代码有问题,具体看上面网站。 #include<cstdio> #include< 阅读全文
posted @ 2016-12-09 14:10 ONION_CYC 阅读(223) 评论(0) 推荐(0)
摘要:【数论】数论——onion_cyc 【计数问题】计数问题(排列组合,容斥原理,卡特兰数)——onion_cyc 【概率与期望】链接 【链与反链】链接 【生成树计数(矩阵树定理)】专题链接 【快速幂】 原理:将指数化为二进制再分为若干个数相乘。 每次自己乘自己相当于平方,增加二进制权。 int qui 阅读全文
posted @ 2016-12-08 19:25 ONION_CYC 阅读(1103) 评论(0) 推荐(0)
摘要:【算法】扩展欧几里德算法 【题解】学完扩欧就可以随便水了。。。 转化为不定方程ax-by=1。 因为1且题目保证有解,所以方程有唯一解。 紫书曰:同余方程的一个解其实指的是一个同余等价类。 所以满足x≡x'(mod b)的其他x'也是方程的解。 题目求最小正整数解,因此ans=x%b。 #inclu 阅读全文
posted @ 2016-12-08 19:24 ONION_CYC 阅读(337) 评论(0) 推荐(0)
摘要:【算法】 【算法】网络流 【算法】树 【算法】数学 ————【专题】生成树计数(矩阵树定理) ————【专题】计数问题(排列组合,容斥原理,卡特兰数) ————【算法专题】卡特兰数(计数数列) ————【专题】数论 ————【专题】概率和期望 【算法】动态规划 【算法】数据结构 ————【专题】平衡 阅读全文
posted @ 2016-08-10 21:08 ONION_CYC 阅读(2158) 评论(0) 推荐(6)