
数论
fyc_kabuto
一个蒟蒻程序员
展开
-
bzoj 3930: [CQOI2015]选数
题意:在[L,H]中选n个可重复,有序的数,使这些数的gcd=k。题解:1A了很爽。 莫比乌斯反演+杜教筛。 先转化题意,设lk=⌊l−1k⌋+1 rk=⌊rk⌋lk=\lfloor\frac{l-1}{k}\rfloor+1\ \ \ rk=\lfloor\frac{r}{k}\rfloor 相当于在[lk,rk]中选n个互质的数。 即ans=∑a1lk rk∑a2lk rk……∑a1原创 2017-08-18 09:38:04 · 390 阅读 · 0 评论 -
bzoj 3994: [SDOI2015]约数个数和
题意:求∑ni∑mjd(ij)\sum_{n}^i \sum_{m}^j d(ij)d(n)为n的约数个数。题解:首先要知道一个结论: d(nm)=∑i|ni∑j|nj[gcd(i,j)=1]d(nm)=\sum_{i|n}^i\sum_{j|n}^j[gcd(i,j)=1] 那么这个东西怎么证明呢 首先假设质数p在n中指数为k1,m中k2。 根据d函数的求法d(n)=原创 2017-08-11 11:14:11 · 455 阅读 · 0 评论 -
bzoj 2877: [Noi2012]魔幻棋盘
口头AC原创 2017-10-12 09:15:41 · 394 阅读 · 0 评论 -
bzoj 1220: [HNOI2002]跳蚤
容斥原创 2017-11-03 22:01:22 · 342 阅读 · 0 评论 -
bzoj 5027: 数学题
exgcd原创 2017-11-05 14:24:19 · 342 阅读 · 0 评论 -
bzoj 1101: [POI2007]Zap
sb反演题原创 2017-12-02 09:47:09 · 204 阅读 · 0 评论 -
bzoj 3512: DZY Loves Math IV
题目大意:求∑ni∑mjϕ(ij)\sum_{n}^i\sum_{m}^j\phi(ij)题解:orz:Candy? 假装我会了。 以后做数论也要考虑枚举。update 2018/1/11过了那么久才填这个坑…… n较小,考虑枚举i,求sum(n,m)=∑miϕ(ni)sum(n,m)=\sum_i^m\phi(ni) 假设nn是不同质因子的 根据ϕ\phi的原创 2017-08-16 14:26:46 · 365 阅读 · 0 评论 -
bzoj 3240: [Noi2013]矩阵游戏
矩乘+费马小定理原创 2018-01-03 08:18:37 · 199 阅读 · 0 评论 -
bzoj 4176: Lucas的数论
反演原创 2018-01-08 12:02:38 · 287 阅读 · 0 评论 -
拓展欧拉定理总结
1:欧拉定理: aϕ(p)≡1(mod p) (a,p)=1aϕ(p)≡1(mod p) (a,p)=1a^{\phi(p)}\equiv1(mod\ p)\ \ \ (a,p)=1 证明: 设ϕ(p)ϕ(p)\phi(p)的集合为S{x1,x2……xϕ(p)}S{x1,x2……xϕ(p)}S\{x_...原创 2017-10-23 22:14:42 · 1556 阅读 · 0 评论 -
bzoj 4833: [Lydsy1704月赛]最小公倍佩尔数
前言:好久没写blog,补补坑。题意:设f(i)=2∗f(i−1)+f(i−2),f(0)=0,f(1)=1f(i)=2∗f(i−1)+f(i−2),f(0)=0,f(1)=1f(i)=2*f(i-1)+f(i-2),f(0)=0,f(1)=1 g(n)=lcm(f(i)i<=n)g(n)=lcm(f(i)i<=n)g(n)=lcm(f(i)_{i∑nig(i)∗i∑in...原创 2018-04-05 11:54:13 · 393 阅读 · 0 评论 -
bzoj 1225: [HNOI2001] 求正整数
爆搜+自然对数原创 2017-10-10 14:48:24 · 340 阅读 · 0 评论 -
bzoj 4488: [Jsoi2015]最大公约数
乱搞原创 2017-10-17 09:42:12 · 523 阅读 · 0 评论 -
bzoj 2257: [Jsoi2009]瓶子和燃料
题意:在n个数中选k个数,使他们gcd最大。题解:上面的模型转化用裴蜀定理。 我是这么想的,将所有数的因数取出来,插到线段树上,然后找最大的且值大于k的点。 感觉时间空间都要炸。 然而开小空间后跑的飞快。 可能是平均每个数的因数不多吧。 code:#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>原创 2017-09-26 21:58:01 · 365 阅读 · 0 评论 -
bzoj 1257: [CQOI2007]余数之和sum
题目大意:求∑in\sum_{n}^i kk modmod ii题解:只要一步变形∑nik−⌊ki⌋i\sum_{n}^ik-\lfloor\frac{k}{i}\rfloor i 直接分块n−−√\sqrt n就可以了。 注意下细节,具体代码。 code:#include<cstdio>#include<cstdlib>#include<cstring>#include<iostrea原创 2017-08-11 11:29:18 · 330 阅读 · 0 评论 -
bzoj 3529: [Sdoi2014]数表
orz:popoqqq此题比较强(起码我这个蒟蒻觉得) 主要是那个<=a的限制很烦。 经过测试,暴力求约数和函数是非常快的,于是可以离线+树状数组暴力维护前缀和做。 code:#include<cstdio>#include<cstdlib>#include<cstring>#include<iostream>#include<cmath>#include<algorithm>us原创 2017-08-10 11:44:40 · 275 阅读 · 0 评论 -
3309: DZY Loves Math
全程%popoqqq:题解 orz:求g[i]函数(太神了) 现在我们只需要知道Σ[d|T]f(d)μ(T/d)的前缀和就行了 设这个函数为g(x) 观察这个函数 由于含平方因子数的μ值都为零,因此我们只考虑μ(T/d)!=0的数 令T=p1^a1*p2^a2*…pk^ak,d=p1^b1*p2^b2…*pk^bk 那么0<=(ai-bi)<=1 如果存在ai≠aj(i≠j),那么我们可原创 2017-08-09 14:57:51 · 321 阅读 · 0 评论 -
bzoj 2956: 模积和
题意:求∑ni∑mj(n mod i)∗(m mod j)(i!=j)\sum_{n}^i\sum_{m}^j(n\ mod\ i)*(m\ mod\ j)(i!=j)题解:我各种sb错误荒废了一上午啊啊啊。 先无视限制:即∑ni(m mod j)∑mj(n mod i)\sum_{n}^i(m\ mod\ j)\sum_{m}^j(n\ mod\ i) 同bzoj 1257(题解) 然后要减原创 2017-08-11 12:36:12 · 416 阅读 · 0 评论 -
bzoj 4407: 于神之怒加强版
题意:求∑ni∑mjgcd(i,j)k mod 109+7\sum_{n}^i\sum_{m}^jgcd(i,j)^k\ mod\ 10^9+7题解:先上经典的莫比乌斯反演变形得到:∑min(n,m)d=1dk∑min(⌊nd⌋,⌊md⌋)p=1μ(p)⌊ndp⌋⌊mdp⌋\sum_{min(n,m)}^{d=1}d^k\sum_{min(\lfloor\frac{n}{d}\rfloor,\lf原创 2017-08-18 11:48:26 · 277 阅读 · 0 评论 -
bzoj 3629: [JLOI2014]聪明的燕姿
求所有约数和等于S的数。强大的dfs。 先要知道d是怎么求的。 d(n)=∏ki(1+p1+p2+p3……+pa)d(n)=\prod_{k}^i(1+p^1+p^2+p^3……+p^a) 所以……直接上代码void cal(int last,int tot,int num){ if(tot==1){ans[++n]=num;return;} if(tot-1>sqrts&&原创 2017-08-11 16:07:31 · 283 阅读 · 0 评论 -
bzoj 3944: Sum
题意,求ϕ\phi和μ\mu的前缀和。题解:杜教筛模板。 先说μ\mu的方法。 因为∑ii|nμ(i)=[n==1]\sum_{i|n}^i\mu(i)=[n==1] 所以显然∑in∑dd|iμ(d)=1\sum_{n}^i\sum_{d|i}^d\mu(d)=1 然后变形∑ni∑d|idμ(d)=∑nd∑⌊nd⌋kμ(k)=∑ndsum(⌊nd⌋)=1\sum_{n}^i\sum_{d|i原创 2017-08-14 15:21:32 · 302 阅读 · 0 评论 -
bzoj 4805: 欧拉函数求和
题意:求∑inϕ(i)\sum_{n}^i\phi(i)同3944杜教筛 code:#include<cstdio>#include<cstdlib>#include<iostream>#include<cstring>#define LL long longusing namespace std;int pr=0;LL phi[5000010],prime[5000010];bo原创 2017-08-14 15:26:14 · 278 阅读 · 0 评论 -
bzoj 4916: 神犇和蒟蒻
题意:求∑niμ(i2)∑niϕ(i2)\sum_{n}^i\mu(i^2)\sum_{n}^i\phi(i^2)题解我个大SB竟然没有反应过来第一问就是1…… 只要求第二问。 杜教筛。 ∑ni∑d|idϕ(d)i=∑nii2=n(n+1)(2n+1)6\sum_{n}^i\sum_{d|i}^d\phi(d)i=\sum_{n}^ii^2=\frac{n(n+1)(2n+1)}{6} ∑n原创 2017-08-15 10:22:09 · 469 阅读 · 0 评论 -
bzoj 5028: 小Z的加油店
题意:问区间中的数加加减减能组成的正整数最小数。题解:其实是ax+by+……+czax+by+……+cz的最小正整数值。 根据裴蜀定理,就是他们的gcd。 所以就成了维护区间gcd。 然而因为太弱,还是一脸蒙逼。 orz tkj大佬,要我差分后再做。 根据辗转相除法,差分后的gcd=原序的gcd。 于是只用求出序列第一个数和后面差分的gcd就可以了。 线段树维护。 code:#inc原创 2017-09-26 21:52:31 · 433 阅读 · 0 评论 -
2671: Calc
题意:问多少对a,ba,ba,b满足1≤a&lt;b≤n1 \le a &lt; b \le n1≤a<b≤n且(a+b)∣ab(a+b)|ab(a+b)∣ab题解:先考虑什么情况满足a+b∣aba+b|aba+b∣ab设d=gcd(a,b)d=gcd(a,b)d=gcd(a,b),则a′d+b′d∣a′b′d2−&gt;a′+b′∣a′b′da&#x...原创 2019-01-15 08:58:41 · 242 阅读 · 0 评论