
数论
jokerwyt
这个作者很懒,什么都没留下…
展开
-
jzoj6572 FJWC2020Day5 lg (数论)
一道不错的数论题原创 2020-04-24 10:25:08 · 526 阅读 · 0 评论 -
CF516E Drazil and His Happy Friends
数论图论最短路同余原创 2019-11-12 08:43:52 · 318 阅读 · 0 评论 -
jzoj5330 【NOIP2017提高A组模拟8.22】密码
题面分析首先n!n!中p的指数是∑∞i=0⌊npi⌋\sum_{i=0}^{\infty}\lfloor\frac n {p^i}\rfloor(有一个p的有多少个,两个的,三个的…) 那么对于CmnC_n^m就是在p进制下理解这个式子,发现任意第i项,后面一大堆不是0就是1. 当什么情况下是1 ? 就是p进制下m+(n-m)是否有进位。如果有进位,那么现在就没有取到这个进位(下取整就类似二进制原创 2017-08-22 19:30:38 · 539 阅读 · 0 评论 -
自然数幂和(递推式k^2方法)
[全部都是口胡] 求 ∑ni=1ik,给定k<=2000与n<=1018\sum_{i=1}^{n} i^k,给定k<=2000与n<=10^{18}。首先我们有(a+1)k(a+1)^k=∑ki=0Cik∗ai=\sum_{i=0}^{k}C^i_k*a^i(二项式展开)=(∑k−1i=0Cik∗ai)+ak=(\sum_{i=0}^{k-1}C^i_k*a^i)+a^k移项,于是有(a+1)k原创 2017-01-06 20:03:40 · 5024 阅读 · 0 评论 -
杜教筛如何推式子/堆柿子
对于求数论函数f的1..n前缀和,可以找另一个函数g,配成狄利克雷卷积。 ∑ni=1(f∗g)(i)\sum_{i=1}^{n}(f*g)(i) =∑ni=1∑j|if(i)g(ij)= \sum_{i=1}^{n}\sum_{j|i}f(i)g(\frac i j) 交换主体 =∑nj=1∑j|if(j)g(ij)=\sum_{j=1}^n \sum_{j|i} f(j)g(\frac原创 2017-09-01 20:05:49 · 380 阅读 · 0 评论 -
拉格朗日插值法(求自然数幂和)
背景求∑ni=1ik\sum_{i=1}^{n} i^k,给定n分析设g(x)=∑xi=1ikg(x)=\sum_{i=1}^{x} i^k。考虑k=1与k=2时的公式,不难得出每个g(x)实际上都是一个k+1次多项式。(这是猜想,具体证明看http://blog.youkuaiyun.com/jokerwyt/article/details/54141757,那个递推式就是k+1次的)那原创 2017-10-06 16:10:11 · 2198 阅读 · 0 评论 -
jzoj3192 【中山市选2013】球
求∑|imoda−imodb|\sum |i\mod a - i \mod b|分析!!!1≤N≤1000000000,A,B≤100000 保证A < B先,否则互换。显然对答案无影响.先给n扩到下一个 a的倍数. 最后再减掉多算的. 考虑模A=0的一堆数,由循环节可以统计出两个数组: s[x]= %b=x的数的个数 s1[x]= %b=x的数的个数 * x然后考虑%a余数k=0..A-1原创 2018-01-19 22:05:54 · 275 阅读 · 0 评论 -
jzoj5636 【NOI2018模拟4.7】power (扩展欧拉定理,phi的性质)
Description给定正整数m<=1e9与n个数,n<=1e5,q个询问,q<=1e5,每次询问某个区间[l,r]的power值: 即alal+1al+2...aralal+1al+2...aral^{al+1^{al+2...^{ar}}}%m???扩展欧拉定理就适合这种求幂取模的破玩意 第一条其实可以与下面两条合并,然后下面把gcd!=1去掉。 ...原创 2018-04-12 19:11:13 · 259 阅读 · 0 评论 -
jzoj4051 【SDOI2015第1轮第1试】序列统计 (用原根转离散对数,乘法转换成加法做卷积)
小C有一个集合S,里面的元素都是小于M的非负整数。他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S。 小C用这个生成器生成了许多这样的数列。但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于x的不同的数列的有多少个。小C认为,两个数列{Ai}和{Bi}不同,当且仅当至少存在一个整数i,满足Ai≠Bi。另外...原创 2018-05-28 19:58:09 · 530 阅读 · 0 评论 -
Miller-rabin素性测试与pollard-rho快速质因数分解
Miller-Rabin可以在O(log n)的时间内检测一个数是否为质数。 理论上是一个概率算法,但在一定范围以内的数经过验证全部可以判出来。 所以可以视作是一个确定算法。费马小定理若p是质数,且a...原创 2018-06-24 22:01:40 · 710 阅读 · 0 评论 -
bsgs大步小步算法及其扩展 & SPOJ Power Modulo Inverted
baby step giant step用来解ax≡b(mod&amp;amp;nbsp;p)ax≡b(mod&amp;amp;nbsp;p)a^x \equiv b (mod~p) 一类的方程O(p–√)O(p)O(\sqrt p)其实想法也比较简单,对于p是质数的情况: 定一个值m=p–√m=pm = \sqrt p,x可以写为Am+rAm+rAm + r。 因为A与r的范围都是p–√p\sqrt p的,先预...原创 2018-07-05 10:12:45 · 197 阅读 · 0 评论 -
Min 25筛入门
好像是一种比较新的筛法,网上资料都是18年的 赶上时代潮流了??用途筛一些比较神奇的函数前缀和。(或者询问区间内什么的) 筛的东西需要是积性函数。(题目所求可以转换为积性函数啥的)复杂度空间n^0.5,时间据说为n0.75/lognn0.75/lognn^{0.75} / logn 2s大概可以做两次1e10吧。思想递推模拟线筛。具体步骤设g(i,j)...原创 2018-09-03 12:21:56 · 6356 阅读 · 3 评论 -
jzoj5836 Sequence (区间筛)
题意求[L,R]中,最小质因子大于K的数(包括素数)的异或和。 L,R<=1e14,K<=1e9 R-L<=1e7就TM是个线筛在线筛过程中,由于每个数N都会被他的最小质因子筛到。若不是质数,则其最小质因子必定<=N−−√<=NN−−√N\sqrt N时,我们就可以将NNN以内的合数全部标记出来了。那么,我们线筛做到1e7的时候,[L,R]区间...原创 2018-08-21 16:14:44 · 249 阅读 · 0 评论 -
jzoj6025 【GDOI2019模拟2019.2.16】加农炮 (stern brocot树,类欧)
在stern brocot上走,任意分母为n的点,其到根路径的拐点最大是O(log n)级别的。(待证)于是开始二分,判定用类欧。式子这么推sum(a,b,c,n)sum(a,b,c,n)sum(a,b,c,n)=∑i=0n−1trunc((ax+b)/c)=\sum_{i=0}^{n-1}trunc((ax+b)/c)=∑i=0n−1trunc((ax+b)/c)先保证a,b&lt...原创 2019-02-17 08:32:43 · 429 阅读 · 0 评论 -
jzoj5317 【清华集训2017模拟8.19】func (寻找性质)
题意 n<=1e6分析做比赛的时候啥也没看出来.. 求f(x)=nf(x)=n的所有x,我们先将函数的定义式分析一下。 f(2i)=f(i)f(2i)=f(i) f(2i+1)=f(i)+f(i+1)f(2i+1)=f(i)+f(i+1) 两个相邻的f也是由两个相邻的f推来的。那么我们不如枚举f(x−1)=if(x-1)=i,然后发现可以确定唯一的xx。需要注意的是相邻f(x)互质 (归纳原创 2017-08-20 22:57:52 · 344 阅读 · 0 评论 -
关于卡特兰数的一些小理解
第k个卡特兰数记作CkCkC_k。 开始几项是 1,1,2,5,14,42…..实际意义有n对括号的合法括号序列匹配方案数1..n顺次入栈,出栈序列方案数。边数为n+2凸多边形三角划分方案数n个节点的二叉树种数。公式Cn=Cn2n − Cn+12nCn=C2nn − C2nn+1C_n=C_{2n}^{n}~-~C_{2...原创 2017-08-19 20:05:11 · 4074 阅读 · 0 评论 -
jzoj4467 数字方阵
这题坑了我将近5个小时!!!题目大意: 有一个无限大的平板 我们定义A[i,j]表示平板上第i行第j列的数字: 1. A[i,1] = i, 2. A[i,j] = A[i,j-1] + Rev( A[i,j-1] ), 其中Rev(x)表示x在10进制下的翻转,例如Rev(213) = 312, Rev(406800) = 008604 = 8604原创 2016-04-28 18:16:29 · 1238 阅读 · 0 评论 -
jzoj2565 树的序号
MDZZ,这题在比赛的时候死扣了三个半小时还是没扣出来!! 首先我们设f[i]为i个点能摆成多少种树 显然有fi=∑fj∗f(i−j−1)fi=∑fj*f(i-j-1),且对于一个序号X他的节点数nodes我们是能求出来的 可以发现最多不到20个点然后就可以去枚举每一层的左右子树节点个数, 我们先求出序号X在所有nodes个节点的数中排第Y,方便我们计算,因为他的判断规则是优先左子树,那么我原创 2016-08-15 20:32:45 · 329 阅读 · 0 评论 -
jzoj2574 统计方案
小B写了一个程序,随机生成了n个正整数,分别是a[1]..a[n],他取出了其中一些数,并把它们乘起来之后模p,得到了余数c。但是没过多久,小B就忘记了他选了哪些数,他想把所有可能的取数方案都找出来。你能帮他计算一下一共有多少种取数方案吗?请把最后的方案数模1000000007后输出。 小B记得他至少取了一个数。对于30%的数据,n<=16; 另有30%的数据,p<=10000; 对于1原创 2016-08-16 21:04:45 · 832 阅读 · 0 评论 -
jzoj4799 我的快乐时代
题目大意设F(x)=X数位的卷积F(x)=X数位的卷积,求∑F(1..n)\sum{F(1..n)} n<=1018n<=10^{18}想法首先10^18肯定是 log 解的我们按照数位DP的思想,去考虑10^(k-1)~10^k-1的F(i)和0~9: 1*1+2*2+3*3… = 28510~99: XX ,考虑这一对的贡献,那就是两倍的 1*1+1*2+1*3…+1*9 + 2*1原创 2016-09-26 19:30:25 · 340 阅读 · 0 评论 -
jzoj4819 算循环
首先那个程序是送给你的40分暴力. 先看一下他题意中的题意,我们发现答案其实等于这个式子Ans=∑i∑jij(n−i+1)(m−j+1)Ans = \sum_{i}\sum_{j}ij(n-i+1)(m-j+1)就相当于对于一个点(i,j),包括他的矩阵有(n-i+1)(m-j+1)种.然后我们做一下变形Ans=(∑i(n−i+1)i)∗(∑jj(m−j+1))Ans = (\sum_{i}(n-原创 2016-10-15 15:44:57 · 380 阅读 · 0 评论 -
jzoj4888 最近公共祖先
题目描述n层的满k叉树T,求对于每一对(i,j)(1≤i,j≤T的点数),LCA(T,i,j)的深度的和是多少。这个数字n层的满k叉树指一棵带标号的有根树,这个答案可能很大,你只需要告诉他答案%998244353的值就可以了。 对于30%的数据,满足2≤n,k≤8; 对于50%的数据,满足2≤n,k≤1000000; 对于100%的数据,满足2≤n,k≤998244351。 (背景有删减)原创 2016-11-12 13:16:48 · 363 阅读 · 0 评论 -
jzoj4882 多段线性函数
题目描述 解虽然题目很难看懂,但还是很良心的,因为给了我们一个启发: 峰值是一段区间. 把x的取值范围想象为”框”,fmin(y)这个函数就是求y到每个框的最小距离之和.不难发现fmin(y)是单峰函数. 因为答案一定是在某个框内或不在框内, 对于第一种情况,在答案[L,R]之间时,左右是平衡的,当y=l-1时,那么右边就多出来一个框,答案变大,右边同理. 对于第二种情况,如果不在框内,换原创 2016-11-12 07:58:53 · 604 阅读 · 0 评论 -
jzoj3823 遇见 [高斯消元解异或方程组]
Description Zyh独自一人在街上漫步。Zyh相信不久后应该就可以和她一起漫步,可是去哪里寻找那个她呢?Zyh相信每个人都有一个爱情的号码牌,这个号码牌是一个n*n的矩阵。 每个人都要在矩阵中选择若干个元素,使得每行每列都有奇数个数被选中,且选中的数字的乘积是完全平方数。每当选出了这若干个元素,他/她就能找到那个她/他。 Zyh想知道对于一个号码牌有多少种选择的方法,使得原创 2017-01-13 21:14:18 · 783 阅读 · 0 评论 -
线性筛法相关
基本证明可以看这里,懒得多写。 一个藓的证明其实还可以筛其他东西,先看一个筛出约数个数的 dhdh写的 他有个地方写错了,a mod b≠0不代表ab互质…. 首先吧,肯定要维护这个玩意AnsiAns_i,ii有多少约数 然后再维护一个EiE_i表示i的最小质因子的指数 (因为线筛的本质就是每个数只会被他最小的质因子筛去) *Ansi=(a1+1)∗(a2+1)...∗(at+1)Ans_原创 2016-06-01 14:54:38 · 714 阅读 · 0 评论 -
jzoj4919 神炎皇
题意对于有序正整数对(a,b),求合法数对个数。 一个(a,b)是合法的,当满足以下条件: a+b<=n, ab mod (a+b)=0 对于100%的数据n<=100000000000000。题解设gcd(a,b)=d,然后 a’=a/d, b’=b/d. 那么题目要求的是 d(a′+b′)|a′b′d2d(a'+b')|a'b'd^2 (其中x|y是y mod x=0的意思。原创 2016-12-10 19:46:35 · 620 阅读 · 0 评论 -
jzoj5163 【NOIP2017模拟6.25】PS的烦恼 [莫比乌斯反演]
见 http://blog.youkuaiyun.com/Cold_Chair/article/details/73824083补证一个东西: phi(d)=f(d)=∑i|dμ(di)∗iphi(d)=f(d)=\sum_{i|d}μ(\frac{d}{i})*i 由莫比乌斯反演可得f(d)是个积性函数。 又因为phi(d)也是积性函数,所以只需要证得phi(pk)=f(pk),p为素数phi(p^k原创 2017-06-28 20:11:10 · 329 阅读 · 0 评论 -
51nod1244 莫比乌斯函数和 (杜教筛)
题意求∑ni=1μ(i),n=1010\sum_{i=1}^{n} \mu(i),n杜教筛有一篇文必须得转 author: skywalkert original article: http://blog.youkuaiyun.com/skywalkert/article/details/50500009 last update time : 2017-04-01推一波式原创 2017-07-06 11:26:17 · 489 阅读 · 0 评论 -
欧几里得算法与其扩展
欧几里得算法又名辗转相除法形式gcd(a,b) = gcd(b,a mod b)证明1.设a=kb+r,r=amodb=a−kba=kb+r,r=a mod b=a-kb2.设dd为a,ba,b的公约数,则amoda mod d=0,bmodd=0,b mod d=0d=0 记作d|a、d|bd|a、d|b3.r=a−kbr=a-kb由2得,rd\dfrac{r}{d}是一个整数,所以d|rd|原创 2016-05-26 19:21:12 · 788 阅读 · 0 评论 -
高斯消元初步
高斯消元其实就™是加减消元法(模拟忒麻烦)解N元一次方程组就和加减消元一毛一样,大概分以下几个步骤 用一个数组存下未知数的系数1.枚举所有未知数,一个个消掉 2.找一个系数非0的,作减数 3.算一下所有系数的最小公因数,然后把每个系数乘到最小公因数 4.然后把所有式子都减去那个作减数的式子,并将那个式子标记一下,下次不能再做减数 (因为其实已经被化简掉了,如果再用来当减数那就和用一个式子化原创 2016-08-14 20:46:46 · 676 阅读 · 0 评论 -
差分约束系统
差分约束有什么L用? 差分约束系统属于线性规划问题。在一个差分约束系统中,线性规划矩阵A的每一行包含一个1和一个-1,A的所有其他元素都为0。因此,由Ax≤b给出的约束条件是m个差分约束集合,其中包含n个未知元。以上属于没有L用的P话如果一个辣鸡系统由n个变量a1...ana_1...a_n和m个约束条件组成,约束条件的形式是ai−aj≤kai-aj≤k或ai−aj≥kai-aj≥k的不等式,原创 2016-06-13 20:24:36 · 406 阅读 · 0 评论