数论
文章平均质量分 62
alan_cty
蒟蒻一只
别打脸(⊙o⊙)哦
展开
-
「MtOI2019」幽灵乐团
Description求∏i=1A∏j=1B∏k=1C([i,j](i,k))f(type)\prod_{i=1}^{A}\prod_{j=1}^{B}\prod_{k=1}^{C}({[i,j]\over (i,k)})^{f(type)}i=1∏Aj=1∏Bk=1∏C((i,k)[i,j])f(type)f(0)=1,f(1)=ijk,f(2)=(i,j,k)f(0)=1,f(1)...原创 2019-09-02 21:23:46 · 584 阅读 · 0 评论 -
[51nod1375]再选数
Description给出n个数,{a},求在其中选k个数使其gcd为1的方案数。 如果k=-1表示任意取,不过至少得取一个。 答案对998244353取模。 n<=10^5,ai<=10^6Solution记得某位dalao说过,看到gcd想到反演=w= 但这道题都能用反演?!涨姿势了~ 开始一直在想容斥,想不出来,然后去Orz了栋爷的题解(数论蒟蒻不要鄙视我QwQ 然后看到第一句话就原创 2016-12-28 20:45:36 · 870 阅读 · 0 评论 -
[51nod1223]分数等式的数量
Description给出一个数L,求所有的x < y <=l且满足1/x+1/y=1/n(n为整数)的(x,y)二元组的数量。 L<=10^11Solution近似暴力算法碾过去了=w= 安利一份更劲的题解 首先我们就相当于求x+y|xyx+y|xy的二元组的数量 提取一个d=gcd(x,y)d=gcd(x,y), x′=x/dx'=x/d, y′=y/dy'=y/d,那么 d(x′+y原创 2016-12-22 22:06:22 · 558 阅读 · 0 评论 -
[51nod 1149]Pi的递推式
DescriptionF(x) = 1 (0 <= x < 4) F(n) = F(n - 1) + F(n - pi) (4 <= n) Pi = 3.1415926535….. 现在给出一个N,求F(n)。由于结果巨大,只输出Mod 10^9 + 7的结果即可。 1 <= N <= 10^6Solution之前在乱搞生成函数的时候突然get到了一个idea(然而和生成函数并没有什么关系)原创 2016-11-04 12:42:31 · 510 阅读 · 0 评论 -
【GDOI2017模拟9.24】周末晚会
Description求n个点的圆排列,每个点是1或0,并且连续的0不超过k个的方案数。 循环同构算一种。多组数据。 T<=50,n,k<=2000Solution首先,先不考虑环的情况,我们来处理一下连续的k个。 一个很显然的想法是,Fi,j表示,前i个数,第1个是1且后面j个是0的方案数。 看一下这一位放0还是1就可以推出转移方程了。 如果是在圆上呢? 那么我们设ri表示长度为i的圆原创 2016-09-26 19:40:02 · 899 阅读 · 0 评论 -
【NOIP2016提高A组模拟9.15】Math
Description求∑i=1n(−1)∑mj=1d(i∗j)\sum_{i=1}^{n}(-1)^{\sum_{j=1}^{m}d(i*j)} 其中d(i)表示i的因子个数。 n<=10^7,m<=10^14Solution既然是-1的次幂,那么我们就来分析一下奇偶性吧。。。 这里有一个很(不)显然的性质,d(n)是奇数当且仅当n是一个完全平方数。 然而我比赛3个小时都没有想出来233原创 2016-09-15 16:16:30 · 466 阅读 · 0 评论 -
【GDOI2017模拟8.14】佐助的难题
Description给出n和m,求n!的范围中与m!互质的数的个数。答案对r取模。 n,m<=1e7,r>n>=m,且r为质数。Solution首先,如果gcd(a,b)=1,那么gcd(a+b,b)=1. 所以,1~km与m互质的数的个数为k∗φ(m)k*\varphi(m) 答案就是n!m!φ(m!){n!\over m!}\varphi(m!) 然后,φ(m!)=m!∏p<=n且p为原创 2016-08-15 21:11:50 · 759 阅读 · 0 评论 -
Ned 的难题
Description给出一个序列a,求∏i=1n∏j=i+1ngcd(ai,ai+1,ai+2...aj)\prod_{i=1}^{n}\prod_{j=i+1}^{n}gcd(a_i,a_{i+1},a_{i+2}...a_j) n<=50000Solution先把暴力写出来,设bj=gcd(aj,aj+1,aj+2..ai) 那么a[i]的贡献就是∏j=1i−1bj\prod_{j=1}^原创 2016-07-08 12:58:32 · 579 阅读 · 0 评论 -
[bzoj3157][bzoj3516][bzoj4126]国王奇遇记
Description求∑i=1nimmi\sum_{i=1}^{n}i^mm^i n<=10^9,普通版m<=200,加强版m<=1000,加强版之再加强版m<=500000Solution1.普通版很容易想到倍增的思路,只不过很难实现。 设F(n,k)=∑ni=1ikmiF(n,k)=\sum_{i=1}^{n}i^km^i 然后,F(n+1,k)=∑i=1n+1ikmiF(n+1,k)=原创 2016-06-22 20:30:02 · 1674 阅读 · 0 评论 -
[51nod1379]索函数
Description求fib(0)|fib(1)|fib(2)|...|fib(n)mod1e9+7fib(0)|fib(1)|fib(2)|...|fib(n) mod 1e9+7 n<=10^10Solution因为一直是或,所以我们的答案二进制位的每一位都是1. 那么答案就是fib(n)的位数k,2^(k+1)-1. 那么我们就是要快速求出fib(n)的位数。 当n较小的时候,我们就原创 2016-07-07 22:18:39 · 591 阅读 · 0 评论 -
浅谈一类积性函数的前缀和
为了不让好文被埋没。 链接点这里 (表示并不想直接复制,数学符号不好搞) (说到底还是我懒)转载 2016-07-06 09:22:55 · 983 阅读 · 0 评论 -
[51nod1362]搬箱子
Description一个n*m的棋盘,每一步可以从(x,y)走到(x,y+1)或(x+1,y)或(x+1,y+1). 求从(0,0)走到最后一行的方案数,答案对p取模。 n<=800,m,p<=10^9Solution显然可以枚举斜走的步数。 然后再枚举走到(n,j),我们要有梦想这个一定是可以化简的。 那么Ans=∑i=0min(n,m)∑j=imCn−in−2i+j∗Cin−i+jAn原创 2017-01-06 19:48:45 · 687 阅读 · 0 评论 -
[瞎搞]Lucas定理证明
求证Cnm≡∏i=0kCnimimodpC_{m}^{n}≡\prod_{i=0}^{k}C_{m_i}^{n_i}\mod p 其中m=∑ki=0mipim=\sum_{i=0}^{k}m_ip^i,n=∑ki=0nipin=\sum_{i=0}^{k}n_ip^i p是质数。首先,我们知道,n0=nmodp,m0=mmodpn_0=n \mod p,m_0=m \mod p 那么原式相当于原创 2017-01-10 22:05:54 · 2850 阅读 · 6 评论 -
[校内模拟]抬头仰望梦的脚步
Description一棵二叉搜索树,插入n次,第i次插入的节点权值为(a+bn)%m,问第n次插入的点的深度T<=5e4,n<=1e16,a,b,m<=1e8Solution定义val(n)表示第n个数的权值,suf(v)表示所有的(a+bn)%m中,大于v的最小的数,pre(v)表示小于v的最大的数当n>m/gcd(m,b)时,后面的点构成循环,只需要计算第一...原创 2019-06-29 22:01:34 · 408 阅读 · 0 评论 -
[AGC031F]Walk on Graph
Description有一张n个点m条边的无向连通图G,每条边有长度ci,有一个人在上面走有q组询问,每组询问给出si,ti,ri,表示问你是否存在一条从si出发到ti结束长度为ri%Mod的路径注意这里的路径长度是∑ci*2^in,m,q<=50000,Mod<=1000000且Mod为偶数Solution考虑这样一个东西,这个人最开始在ti,然后每走一条边边权会*2+C...原创 2019-03-19 21:40:18 · 779 阅读 · 2 评论 -
[LOJ#6053]奇怪的函数
Description给出一个函数f(x)满足: f(1)=1, f(p^c)=p xor c,p是质数 f(ab)=f(a)*f(b),(a,b)=1 求∑ni=1f(i)\sum_{i=1}^{n}f(i)对1e9+7取模 n<=1e10Solutionmin_25筛例题 不会可以看一下神仙zzq的博客 我们只需要知道所有质数的f(x)之和,显然指数都为1,那么直接用质数之和-质数原创 2018-04-23 14:34:46 · 577 阅读 · 0 评论 -
Min_25筛学习小记
前言从神仙zzq的博客中学来的科技,似乎可以全面吊打洲阁筛??(反正我不会) 设F(x)是一个积性函数,我们需要求出∑i=1nF(i)\sum_{i=1}^{n}F(i)Min_25并不知道为什么要叫Min_25筛 我们首先需要求出所有F(pj)的和,为了方便我们令F(pj)为与pj有关的一个多项式,比如p^k 这个东西怎么搞呢?设g(x,j)=∑i=2xik[i是质数或i的最小质因子大于pj原创 2018-04-23 14:30:25 · 522 阅读 · 0 评论 -
Every one will meet some difficult
Description求方程∑mi=1xi=s\sum_{i=1}^{m}xi且对于i=1~n,xi=txi的正整数解数。 n,mBeat the ChallengPart 1答案等于∑i=0n(−1)iCinCms−ti\sum_{i=0}^{n}(-1)^iC_n^iC_{s-ti}^m 大概思路是容斥然后用组合数计算。Part 2我们先来介绍一下n阶差原创 2018-01-15 22:39:51 · 699 阅读 · 0 评论 -
【GDOI2018模拟8.12】求和
Description求∑i=1n∑j=1n∑d=1kfd(gcd(i,j))\sum_{i=1}^{n}\sum_{j=1}^{n}\sum_{d=1}^{k}f_d(\gcd(i,j)) 其中当n=∏ipaiin=\prod_{i}p_i^{a_i}时fd(n)=∏i(−1)ai[ai<=d]f_d(n)=\prod_{i}(-1)^{a_i}[a_i<=d] 答案对2^30取模 n<=1原创 2017-08-21 12:01:31 · 391 阅读 · 0 评论 -
[51nod2026]Gcd and Lcm
Description已知f(n)=∑d|nμ(d)df(n)=\sum_{d|n}\mu(d)d 求∑i=1n∑j=1nf(gcd(i,j))f(lcm(i,j))\sum_{i=1}^{n}\sum_{j=1}^{n}f(gcd(i,j))f(lcm(i,j)) n<=1e9Solution一眼以为f是φ\varphi我是不是没救了QwQ 但是这并不妨碍我们发现f是积性函数 然后把lcm原创 2017-10-24 22:43:26 · 548 阅读 · 0 评论 -
【GDOI2018模拟8.11】质数
Description求∑i=1n2f(i)\sum_{i=1}^{n}2^{f(i)} f(i)表示i的不同的质因子个数 n<=10^12Solution我们设g(i)=2^f(i),显然g是积性函数 那么我们可以尝试杜教筛g 把g卷上一个mu,设g*mu=h 显然h也是积性函数 分析一下h(p^k),我们可以发现h(p^k)=[k==1] 特别的h[1]=1 那么归纳一下我们可以原创 2017-08-11 22:34:10 · 412 阅读 · 0 评论 -
[bzoj4916]神犇和蒟蒻
Description求∑i=1nμ(i2)\sum_{i=1}^{n}\mu(i^2) 和∑i=1nφ(i2)\sum_{i=1}^{n}\varphi(i^2) n<=1e9,答案对1e9+7取模Solution被题目名字和AC人数骗进来,一看题还吓了一跳 难道这是什么最新的操作.jpg 然后仔细看了一眼题 mdzz这不是随便做吗? μ\mu的话除了i=1不是全部为0吗?! φ\v原创 2017-07-12 22:35:25 · 599 阅读 · 0 评论 -
[51nod1190]最小公倍数之和V2
Description给出a,b,求∑i=abgcd(i,b)\sum_{i=a}^{b}\gcd(i,b) a,b<=1e9,数据组数<=1e5,答案对1e9+7取模Solution看到gcd想反演(然而这个是lcm) 这个反演不是正常套路 坑了我好久才跳出来 首先ans=b∑d|b1d∑i=abi[gcd(i,b)=d]ans=b\sum_{d|b}{1\over d}\sum_{i=a原创 2017-06-29 21:12:39 · 927 阅读 · 1 评论 -
[51nod1188]最大公约数之和 V2
Description求∑i=1n−1∑j=i+1ngcd(i,j)\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}gcd(i,j) n<=5*10^6,数据组数<=50000Solution一眼看到莫比乌斯反演(感觉中毒了) 但是会超时!!! 想想其他方法。 我们知道,如果要在区间[1..i]中询问gcd(i,x)=t的个数。那么也就相当于询问gcd(i/t,x/t)=1的原创 2016-07-06 15:16:40 · 1323 阅读 · 0 评论 -
[51nod1239]欧拉函数之和
Description求∑i=1nφ(i)\sum_{i=1}^{n}\varphi(i) n<=10^10Solution这道题和莫比乌斯函数一行,都可以通过神奇的推导的出结论。 我们设ϕ(n)=∑i=1nφ(i)\phi(n)=\sum_{i=1}^{n}\varphi(i) 众所周知,∑d|nφ(d)=n\sum_{d|n}\varphi(d)=n 那么,φ(n)=n−∑d|n,d<n原创 2016-07-06 10:37:41 · 2204 阅读 · 0 评论 -
[bzoj2818]gcd
Description求∑i=1N∑j=1Ngcd(i,j)为质数的个数\sum_{i=1}^{N}\sum_{j=1}^{N}gcd(i,j)为质数的个数 N<=10^7Solution很显然的莫比乌斯反演~(≧▽≦)/~啦啦啦 然而本蒟蒻只会这种傻逼方法,跑了 WerKeyTom_FTD爷用了机智的phi法,跑的飞起。 好吧,回归正题。 首先,我们知道,根据普通的莫比乌斯反演,原创 2016-05-30 20:53:38 · 1018 阅读 · 0 评论 -
GDSOI 2016 T1 互补约数
Description求∑i=1n∑d|igcd(d,id)\sum_{i=1}^{n}\sum_{d|i}gcd(d,{i\over d}) n<=10^11Solution首先,我们发现gcd中的两个东西是所有乘积不超过n的数对,即 Ans=∑i∑j,i∗j<=ngcd(i,j)Ans=\sum_{i}\sum_{j,i*j<=n}gcd(i,j) 然后Ans=∑i=1n∑j=1⌊ni⌋g原创 2016-05-25 20:49:11 · 1012 阅读 · 2 评论 -
【NOIP2013模拟】粉刷匠
Description给出n个球,其中有C1个球是颜色1的,有C2个球是颜色2的,有C3个球是颜色3的…… 有Ck个球是颜色k的。求相邻两个球颜色不同的排列方案。 k<=15,ci<=6,数据组数<=2000Solution这种题一般很难有直接的通式,可以考虑Dp。 设Fi,j表示,前i中颜色已经放完了,其中产生了j个不合法的空的方案数。(这里的空指的是每两个球中间的位置,包括开头结尾,不合法原创 2016-05-30 19:37:33 · 1081 阅读 · 0 评论 -
【NOIP2011模拟9.20】素数密度
Description求区间[l~r]中素数的个数。 r-l+1<=10^6 l,r<2^31Solution呵呵了。刷出maxl−−−−√\sqrt{maxl}中所有的素数,然后再用这一坨素数去刷l~r这个区间。 没有了,大水题。 为什么我开50000过不了! 逼我开100000!Code#include<cstdio>#include<cmath>#define fo(i,a,b)原创 2016-04-13 20:38:15 · 638 阅读 · 0 评论 -
【GDOI2016模拟7.10】Banner
Description给定一个网格,左下角为(0,0),右上角为(n,m),求有多少种方案可以选择两个整点点,使得这两个点的连线不经过其他整点并且长度在l~r之间。答案对p取模。 n,m<=10^5,1<=l<=r<=1.5*10^4,p<=10^9Solution首先,让我们来想一想,怎样的两点连线不经过其他点呢? 构成直角三角形,两条直角边长互质! 于是题目就相当于求∑i=1n∑j=1,l原创 2016-03-25 20:46:03 · 511 阅读 · 0 评论 -
【NOIP2015模拟11.2晚】Lala买面包
Description给出n个数,求这n个数中有多少个数可以写成x^p(x>=2,p>=2)的形式。 n<=10^6 每个数<=10^14Solution很容易想到枚举指数。 一个明显的性质,指数只可能是质数,且最大为50. 那么我们可以直接求出1~50之间的质数,然后枚举判断。 可以用c++黑科技pow作弊。 注意精度。(我恨实数运算!)Code#include<cstdio>#in原创 2016-04-06 21:00:07 · 1189 阅读 · 0 评论 -
求自然数幂和的各种方法(还有坑)
求∑i=1n1imodp\sum_{i=1}^{n}{i^k}\mod p高斯消元一个定理,k次方和一定可以由0~k-1次方和表示出来,设方程组接出来就好了。 O(k^3)倍增我们设f(n,k)=∑i=1nikf(n,k)=\sum_{i=1}^{n}i^k 怎么算呢? 我们采用分治思想。 如果n是奇数那么 f(n,k)=f(n−1,k)+nk原创 2016-03-18 19:00:45 · 1358 阅读 · 0 评论 -
【五校联考2day2】WYF的盒子
Description求∑i=mnikmodp\sum_{i=m}^{n}i^k\mod p 90% n,m,p<=10^12,k<=2000 另外10% n-m<=5000,n,m,p,k<=10^12Solution采用自然数幂和 注意,这种东西的模数比较大,两个乘起来会爆longlong。 于是可以用乘法取模黑科技 (懒癌发作ing~)Code#include<cstdio>#in原创 2016-03-18 21:01:08 · 982 阅读 · 0 评论 -
【WinterCamp 2013】模积和
Description求∑i=1n∑j=1,j≠im(nmodi)∗(mmodj)\sum_{i=1}^{n}\sum_{j=1,j\not =i}^{m}(n\mod i)*(m\mod j) n,m<=10^9,答案模19940417Solution首先,看到有%,心里很不爽,把它变成n−⌊ni⌋∗in-\lfloor {n\over i}\rfloor*i,对于i≠ji\not =j的情况,原创 2016-03-16 19:36:26 · 1406 阅读 · 0 评论 -
GDKOI2016 Day2 T4 小学生数学题
T4 小学生数学题 求∑i=1n1imodpk\sum_{i=1}^{n}{1\over i}\mod p^k首先,我们把原式分成两部分,一部分对于p有逆元,另一部分没有。 即原式= 1p∑i=1⌊np⌋1i+∑a=1p−1∑i=0⌊np⌋−11a+i∗p{1\over p}\sum_{i=1}^{\lfloor {n\over p}\rfloor}{1\over i}+\sum_{a=1原创 2016-03-05 14:47:32 · 1287 阅读 · 1 评论 -
GDOI 2016 Day1 T1 中学生数学题
Description已知一种商品的购买人数n和价格p之间的关系是n=⌊n0−pk⌋n=\lfloor{n0-pk}\rfloor,收益是n0(p−p0)n0(p-p0)。 或者有两种商品,购买第一种商品的人数n1和价格p1满足n1=⌊n0−p1k⌋n1=\lfloor{n0-p1k}\rfloor,第二种商品的人数n2和价格p2满足n2=⌊n0−p2k⌋−n1n2=\lfloor{n0-p2k}原创 2016-05-13 18:48:11 · 1266 阅读 · 0 评论 -
[快速因数分解]Pollard's Rho 算法
Description给出一个数N,求N其中的一个因数。(1和N外) N<=10^18好玄学的一个东西。 首先,如果直接暴力,根号n肯定过不了。 在讲正解之前,我们先来讲讲道理。生日悖论在n个人中,生日(月份和日期)两两不同的概率是多少。 一年取365天 很显然,第1个人的生日可以取365365365\over 365 第2个人为364365364\over 365 以此类推。 总概原创 2016-04-22 19:47:15 · 2585 阅读 · 0 评论 -
[51nod1244]莫比乌斯函数之和
Description求∑i=lrμ(i)\sum_{i=l}^{r}\mu(i) l,r<=10^10Solution设M(n)=∑i=1nμ(i)M(n)=\sum_{i=1}^{n}\mu(i) 我们知道,∑d|nμ(d)=[n=1]\sum_{d|n}\mu(d)=[n=1] 那么1=∑i=1n∑d|iμ(d)1=\sum_{i=1}^{n}\sum_{d|i}\mu(d) =∑T=原创 2016-07-06 09:35:17 · 2533 阅读 · 0 评论 -
【2011集训队出题】Crash的数字表格
Description求∑i=1n∑j=1mlcm(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j) n,m<=10^7Solution(注意,以下内容默认n<=mn<=m) 看着lcm不爽,把它变一变: ∑i=1n∑j=1mijgcd(i,j)\sum_{i=1}^{n}\sum_{j=1}^{m}{ij\over \gcd(i,j)} 莫比乌斯反演常用,枚原创 2016-03-17 21:53:42 · 954 阅读 · 0 评论 -
[bzoj1192]鬼谷子的钱袋
Description求最少需要多少个数才能组合(+)成1~n的任意数。 n<=10^9Solution呵呵呵。 乱逛的时候发现了这一道水题。 小学奥数题。 你要选的数肯定是1,2,4,8….2^k 那么答案就是k+1. 而k就等于⌊log2n⌋+1\lfloor\log_2n\rfloor+1Code#include<cmath>#include<cstdio>using name原创 2016-06-19 19:17:29 · 918 阅读 · 0 评论