![](https://img-blog.csdnimg.cn/7ce0e8e8ca4e4281a1f240970058bfed.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数论
文章平均质量分 72
math
EschatonAyane
风会带走我曾经存在过的证明
展开
-
牛客挑战赛60-C 格点染色【计数】
linklinklink分析:设 fxf_xfx 为将前 xxx 点染黑的方案xxx是 fxf_xfx 最后被染色的 那fx=fx−1f_x=f_{x-1}fx=fx−1若不是 对于 [ax,x−1][a_x,x-1][ax,x−1] 的任意数ppp xxx都可以放在 ppp 的上一个染色的点与 ppp 之间染色 有 (x−ax)(x-a_x)(x−ax) 种取值 方案为fx−1×(x−ax+1)f_{x-1}\times (x-a_x+1)fx−1×(x−ax+1)所以 f.原创 2022-05-14 10:15:36 · 164 阅读 · 0 评论 -
【51nod 3050】2维切方格【数学】
linklinklink分析:xxx轴方向会经过mmm个方格 yyy轴方向会经过nnn个方格但是斜着走会有重复经过的 也就是方格顶点 个数为 Gcd(n,m)Gcd(n,m)Gcd(n,m)所以答案为 n+m−Gcd(n,m)n+m-Gcd(n,m)n+m−Gcd(n,m)CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include&.原创 2022-03-10 20:21:29 · 325 阅读 · 0 评论 -
【51nod 2489】小b和灯泡【数学】
linklinklink分析:当前灯泡亮的次数为当前编号的约数个数 那么只有奇数次最后才会亮只有完全平方数的约数个数为奇数 所以就是问你 111 到 nnn 有多少个完全平方数所以答案为 n\sqrt{n}nCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#define reg registe.原创 2022-03-10 20:13:01 · 183 阅读 · 0 评论 -
【洛谷P5495】Dirichlet 前缀和【数论】
linklinklink分析:可以先暴力 枚举倍数:for(reg uint i=1;i<=n;i++) for(reg uint k=1;k*i<=n;k++) b[k*i]+=a[i];for(uint i=1;i<=n;i++) ans^=b[i];但这样显然过不了 在枚举下标时会多次无意义枚举关于唯一分解定理:iii 和 kkk 都可以分解为 ∑i=1npici\sum_{i=1}^np_i^{c_i}∑i=1npici 和 ∑i=1mpici..原创 2022-03-07 21:24:53 · 160 阅读 · 0 评论 -
【洛谷P1403】约数研究
linklinklink分析:对于每个数k (k<=n)k~(k<=n)k (k<=n) 共有 n/kn/kn/k 个数的约数中有kkk 对答案的贡献也是n/kn/kn/kCODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#define reg registerusing namespace std;t.原创 2022-02-26 11:07:16 · 216 阅读 · 0 评论 -
【POJ1845】Sumdiv【数论】
linklinklink分析:考虑唯一分解定理 AAA 可以表示为 ∏i=1npici\prod_{i=1}^{n} p_i^{c_i}∏i=1npici约数之和即 (1+p1+p12+...+p1c1)×(1+p2+p22+...+p2c2)×...×(1+pn+pn2+...+pncn)(1+p_1+p_1^2+...+p_1^{c_1})\times(1+p_2+p_2^2+...+p_2^{c_2})\times...\times(1+p_n+p_n^2+...+p_n^{c_n})(.原创 2022-02-26 10:43:16 · 148 阅读 · 0 评论 -
【洛谷P2158】仪仗队【欧拉函数】
linklinklink分析:方阵是关于对角线对称的 所以只用求出半个方阵能看见的人 再×2\times 2×2即可还有333个特殊点 即对角线和两边 有333个能被看见的人(i,j)(i,j)(i,j) 需满足gcd(i,j)=1gcd(i,j)=1gcd(i,j)=1 因为他一定可以把所有(kx,ky)(kx,ky)(kx,ky)挡住然后欧拉函数CODE:#include<iostream>#include<cstdio>#include<cstring.原创 2022-01-12 10:39:07 · 164 阅读 · 0 评论 -
【洛谷P3014】Cow Line S【康托展开】
Luogu linkLuogu~linkLuogu link分析:题目大意:若输入PPP 则输出 111~nnn 全排列中第 xxx 个若输入QQQ 则输出 x[]x[]x[] 在 111~nnn 全排列中的排名这个东西就是康托展开和 逆康托展开PPP就是逆 QQQ就是普通的这题的NNN很小 可以直接暴力展开CODE:#include<iostream>#include<cstdio>#include<cstring>#in..原创 2021-11-27 10:36:42 · 206 阅读 · 0 评论 -
【洛谷P3917】异或序列【位运算】
LuoguLuoguLuogu linklinklink分析:记录前缀异或和sum0...nsum_{0...n}sum0...n 那么就是统计有多少个区间异或值为111只需要统计sum0...nsum_{0...n}sum0...n中111和000的个数 个数相乘就是区间个数CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>using .原创 2021-10-10 16:41:00 · 182 阅读 · 0 评论 -
【洛谷P3909】异或之积【数论】
Luogu linkLuogu~linkLuogu link分析:原式 =>=>=> ∑i=1nai∑j=1i−1aj∑k=1j−1\sum_{i=1}^na_i\sum_{j=1}^{i-1}a_j\sum_{k=1}^{j-1}∑i=1nai∑j=1i−1aj∑k=1j−1就可以先算出∑k=1j−1ak\sum_{k=1}^{j-1}a_k∑k=1j−1ak 再更新∑j=1i−1aj∑k=1j−1ak\sum_{j=1}^{i-1}a_j\su.原创 2021-10-10 09:20:09 · 263 阅读 · 0 评论 -
【洛谷P7410】Just Green Enough S【容斥】
linklinklink分析:容斥 包含100100100的子矩阵 就是除去x<100x<100x<100的元素的子矩阵数 减 除去x<=100x<=100x<=100的元素的子矩阵数那可以给矩阵元素xxx一个状态 111表示>=100>=100>=100 000即<100<100<100可以先枚举任意点作为左上角 求全部子矩阵 然后将等于100100100的xxx的状态重新设为000 再跑一遍就求出不包含100100100子.原创 2021-08-20 21:26:33 · 137 阅读 · 0 评论 -
【洛谷P3868】猜数字【Crt】
link\textcolor{gray}{link}link分析:求{b1∣(n−a1)b2∣(n−a2)...bk∣(n−ak)\begin{cases}b_1|(n-a_1)\\b_2|(n-a_2)\\...\\b_k|(n-a_k)\end{cases}⎩⎪⎪⎪⎨⎪⎪⎪⎧b1∣(n−a1)b2∣(n−a2)...bk∣(n−ak)可以转换成{n≡a1(mod b1)n≡a2(mod b2)...n≡ak(mod bk)\begin{cases}n≡a.原创 2021-08-10 18:58:11 · 119 阅读 · 0 评论 -
【Ybt OJ】[数学基础 第4章] 组合数学
「「「数学基础」」」第444章 组合数学目录:A.计算系数B.方案统计C.古代猪文A.A.A. 例题111 计算系数Luogu linkLuogu~linkLuogu link分析:这个式子是不是很像杨辉三角组合数可递推求好的那我们二项式定理 +++ 快速幂就做完了CODE:#include<cmath>#include<algorithm>#include<cstring>#include<cstdio>原创 2021-08-08 11:04:57 · 114 阅读 · 0 评论 -
【洛谷P3932】浮游大陆的68号岛【前缀和】
linklinklink分析:前缀和sumisum_isumi表示 将仓库1−i1-i1−i所有物品转移到111号仓库花费sum2isum2_isum2i表示 将仓库1−i1-i1−i所有物品转移到nnn号仓库花费disidis_idisi表示iii号仓库到111号仓库距离numinum_inumi表示仓库1−i1-i1−i物品总个数分333种情况:xxx在lll左边xxx在rrr右边xxx在l,rl,rl,r之间情况1:1:1:运用区间和 算出将[l,r][l,...原创 2021-07-20 11:28:57 · 86 阅读 · 0 评论 -
【洛谷P1999】高维正方体【规律 逆元】
linklinklink分析:这题挺有意思的 考虑起来有点麻烦首先nnn维空间的点数 为2n2^n2n 因为每往外延伸一条边 就多出两个点然后考虑递推 设fi,jf_{i,j}fi,j 表示iii维空间内 含有jjj维空间的个数从身边最熟悉的 333维空间开始推f3,0=8f_{3,0}=8f3,0=8 因为23=82^3=823=8 前面已经得出了f3,1=12f_{3,1}=12f3,1=12 因为每个点可以延伸出333条边 每条边连着222个点 那就是 f3,0×32=12\f..原创 2021-07-18 22:28:17 · 181 阅读 · 1 评论 -
【洛谷P4774】[NOI2018] 屠龙勇士【Excrt Exgcd】
linklinklink分析:ExcrtExcrtExcrt用multisetmultisetmultiset 就可以快速求出要用的剑了 除非你想写平衡树问题转化成:::求同余方程组{Atk1x≡Hp1 (mod p1)Atk2x≡Hp2 (mod p2) ...Atknx≡Hpn (mod pn)\begin{cases}Atk_1x≡Hp_1~(mod~p_1)\\Atk_2x≡Hp_2~(mod~p_..原创 2021-07-18 19:36:04 · 122 阅读 · 1 评论 -
【洛谷P4777】拓展中国剩余定理(Excrt)
linklinklink分析:前置知识:exgcdexgcdexgcd, crtcrtcrtexgcdexgcdexgcd用来解同余方程 crtcrtcrt用来解同余方程组 其中pip_ipi互质excrtexcrtexcrt也可以解同余方程组 但pip_ipi可以不互质先不用管合并所有方程组 考虑合并两个{x≡A (mod P)x≡ai (mod pi)\begin{cases}x ≡A~(mod~P) \\x≡a_i~(mod~p_i)\.原创 2021-07-18 15:57:06 · 167 阅读 · 0 评论 -
【洛谷P4626】一道水题 II【线性筛 bitset】
linklinklink分析:果然是水(紫)题n<=108n<=10^8n<=108 很毒瘤nnn个数的lcmlcmlcm是 每个数中每个同样质因子 指数最大的乘积如lcm(5,10,25)lcm(5,10,25)lcm(5,10,25)其中5=515=5^15=51 10=21×5110=2^1\times5^110=21×51 25=5225=5^225=52lcm(5,10,25)=21×52=50lcm(5,10,25)=2^1\times 5^2=50lcm(5,.原创 2021-07-16 21:01:22 · 580 阅读 · 0 评论 -
【Ybt OJ】[数学基础 第3章] 同余问题
「「「数学基础」」」第333章 同余问题目录:A.同余方程B.约数之和C.线性求逆元D.中国剩余定理A.A.A. 例题111 同余方程洛谷linklinklink分析:拓展欧几里得(exgcd)(exgcd)(exgcd) 板子由于要求最小正整数解 最后要对答案进行处理CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#inc原创 2021-07-11 21:17:18 · 166 阅读 · 1 评论 -
【洛谷P7094】金陵谣【数论】
linklinklink分析:推式子ax+bc=dy\frac{a}{x}+\frac{b}{c}=\frac{d}{y}xa+cb=ydac+bxcx=dy\frac{ac+bx}{cx}=\frac{d}{y}cxac+bx=ydcxd=acy+bxycxd=acy+bxycxd=acy+bxyacy=x(ad−by)acy=x(ad-by)acy=x(ad−by)x=acyad−byx=\frac{acy}{ad-by}x=ad−byacy枚举yyy 看如果acyacy..原创 2021-07-09 10:41:08 · 87 阅读 · 0 评论 -
【Ybt OJ】[数学基础 第2章] 质数与约数
「「「数学基础」」」第222章 质数和约数目录:A.线性筛素数B.质数距离C.不定方程D.反素数E.余数之和A.A.A. 例题111 线性筛素数洛谷linklinklink分析:直接欧拉筛就行了CODE:#include<cmath>#include<algorithm>#include<cstring>#include<cstdio>#include<iostream>using namespace std;原创 2021-07-09 09:30:14 · 165 阅读 · 0 评论 -
【Ybt OJ】[数学基础 第1章] 矩阵快速幂
「「「数学基础」」」第111章 矩阵快速幂目录:A.序列的第k个数B.斐波那契数列C.行为方案D.矩阵求和E.最短路径A.A.A. 例题111 序列的第kkk个数分析:等差 等比数列通项就行了CODE:#include<cmath>#include<algorithm>#include<cstring>#include<cstdio>#include<iostream>using namespace std;t原创 2021-07-08 09:30:58 · 214 阅读 · 0 评论 -
【洛谷P1516】青蛙的约会【数论 拓展欧几里得】
linklinklink分析:可以得出(n−m)t≡x−y(mod(n-m)t≡x-y(mod(n−m)t≡x−y(mod l)l)l)转换一下 就变成求(n−m)t+kl=x−y(n-m)t+kl=x-y(n−m)t+kl=x−y的ttt的最小非负数整数解那这就是个不定方程 求最小非负整数解 那就exgcdexgcdexgcd然后注意 n−mn-mn−m和x−yx-yx−y可能为负数 exgcdexgcdexgcd不能做负数 就处理一下最后最小非负整数解 处理负数以及同余方程最后求解mod.原创 2021-05-20 16:43:53 · 62 阅读 · 0 评论 -
【洛谷P4139】上帝与集合的正确用法【数论 拓展欧拉定理】
linklinklink分析:刚学习了ExEulerExEulerExEuler 就来写一发题目让你求 222...mod2^{2^{2...}}mod222...mod ppp的值那这个式子 很容易联想到拓展欧拉定理:aba^bab modmodmod p≡a(bp≡a^{(b}p≡a(b mod^{mod}mod φ(p)+φ(p))mod^{φ(p)+φ(p))} modφ(p)+φ(p))mod ppp所以把φφφ求出来 一个递归就可以了CODE:#include<iostr..原创 2021-05-15 14:51:00 · 109 阅读 · 0 评论 -
【洛谷P4231】三步必杀【差分 数论】
linklinklink分析:aaa为原数组 bbb为111次差分后数组 ccc为222次差分后数组要在区间[L,R][L,R][L,R]中加上一个首项sss 公差ddd 末项t=s+(R−L)×dt=s+(R-L)\times dt=s+(R−L)×d的等差数列对aaa数组的影响:ai=ai+s+(i−L)×da_i=a_i+s+(i-L)\times dai=ai+s+(i−L)×daaa数组变化对bbb数组的影响 其中bi=ai−ai−1b_i=a_i-a_{i-1}bi=ai...原创 2021-05-04 17:00:38 · 107 阅读 · 0 评论 -
【洛谷P1445】[Violet]樱花【数论】
linklinklink分析:话说violetvioletviolet不是紫罗兰吗(笑推式子1x+1y=1n!\frac{1}{x}+\frac{1}{y}=\frac{1}{n!}x1+y1=n!1先通分x+yxy=1n!\frac{x+y}{xy}=\frac{1}{n!}xyx+y=n!1交叉相乘xy=n!(x+y)xy=n!(x+y)xy=n!(x+y)移项−n!(x+y)+xy=0-n!(x+y)+xy=0−n!(x+y)+xy=0两边加上(n!)2(n!)^2..原创 2021-05-04 15:28:53 · 149 阅读 · 0 评论 -
【洛谷P1306】斐波那契公约数【矩阵乘法 数论】
linklinklink分析:结论:gcd(fibn,fibm)=fibgcd(n,m):gcd(fib_n,fib_m)=fib_{gcd(n,m)}:gcd(fibn,fibm)=fibgcd(n,m)然后先求出gcd(n,m)gcd(n,m)gcd(n,m) 再矩阵乘法 求斐波那契数列即可具体矩阵乘法CODE:#include<iostream>#include<cstdio>#include<algorithm>#include<c.原创 2021-05-04 09:28:39 · 112 阅读 · 0 评论 -
【洛谷P3216】数学作业【矩阵乘法】
linklinklink分析:看数据:n<=1018:n<=10^{18}:n<=1018 知矩阵乘法转移矩阵会根据nnn的位数而变化 [1,9][1,9][1,9]间就是111位 [10,99][10,99][10,99]就是222位 [100,999][100,999][100,999]就是333位………………那它们分别的递推式:::fi=fi−1×10+if_i=f_{i-1}\times10+ifi=fi−1×10+i [1,9][1,9][1,9]fi=fi−1.原创 2021-04-08 20:29:05 · 180 阅读 · 0 评论 -
【洛谷P4820】[2009国家集训队]书堆【调和级数】
linklinklink分析:找规律 ans=(12+14+16+......+12×n)×mans=(\frac{1}{2}+\frac{1}{4}+\frac{1}{6}+......+\frac{1}{2\times n})\times mans=(21+41+61+......+2×n1)×m小范围可以这样暴力然后发现 这个式子很像调和级数于是把调和级数H(n)=(ln(n+1)+0.5772156649)H(n)=(ln(n+1)+0.5772156649)H(n)=(ln...原创 2021-05-04 08:49:41 · 162 阅读 · 0 评论 -
【洛谷P4925】Scarlet的字符串不可能这么可爱【数论】
linklinklink分析:回文子串 就说明字符串中 有相邻222个字符相等 或间222个隔111个字符的字符相等那要没有回文子串 就相邻222个字符 或间222个隔111个字符的字符 不相等第111位有kkk种 第222位因为要不同 剩(k−1)(k-1)(k−1)种 第333位因为要与前222位不同 就剩(k−2)(k-2)(k−2)种如果没有限制 ans=k×(k−1)×(k−2)L−2ans=k\times(k-1)\times(k-2)^{L-2}ans=k×(k−1)×(k−2).原创 2021-05-03 21:26:27 · 69 阅读 · 0 评论 -
【SSL 2514】幼儿园数学题II【数论&矩阵乘法】
幼儿园数学题IITimeTimeTime Limit:10000MSLimit:10000MSLimit:10000MSMemoryMemoryMemory Limit:65536KLimit:65536KLimit:65536KCaseCaseCase TimeTimeTime Limit:1000MSLimit:1000MSLimit:1000MSDescription这天,当一头雾水的LZH同学在考场上痛哭的时候,一旁的YMW早就如切菜一样cut掉了简单至极的第一题,风轻云淡的冲击着满分,然原创 2020-12-18 21:44:31 · 257 阅读 · 1 评论 -
【SSL 2513】幼儿园数学题I【矩阵乘法&斐波那契】
幼儿园数学题ITimeTimeTime Limit:10000MSLimit:10000MSLimit:10000MSMemoryMemoryMemory Limit:65536KLimit:65536KLimit:65536KCaseCaseCase TimeTimeTime Limit:1000MSLimit:1000MSLimit:1000MSDescription某天,幼儿园学生LZH周测数学时吓哭了,一道题都做不出来。这下可麻烦了他马上就会成为垫底的0分啊。他的期望也不高,做出最简单的第原创 2020-12-18 20:27:55 · 201 阅读 · 1 评论 -
【SSL 例4】[洛谷]斐波那契数列的和【矩阵乘法&数论】
题目描述linklinklink求数列 fn=fn−2+fn−1f_n=f_{n-2}+f_{n-1}fn=fn−2+fn−1 的前 nnn 项的和,其中 f1=1,f_1=1,f1=1,f2=1f_2=1f2=1 输出的数 modmodmod 109+710^9+7109+7输入格式一个数 nnn。输出格式前 nnn 项和 modmodmod 109+710^9+7109+7输入输出样例输入 #110输出 #1143输入 #21234567输出 #262462原创 2020-12-12 17:21:46 · 212 阅读 · 0 评论 -
【SSL 1531】斐波那契数列IV【矩阵乘法】
斐波拉契数列IVTimeLimit:1000MSTime Limit:1000MSTimeLimit:1000MSMemoryLimit:65536KMemory Limit:65536KMemoryLimit:65536KDescription求数列f[n]=f[n−2]+f[n−1]+n+1f[n]=f[n-2]+f[n-1]+n+1f[n]=f[n−2]+f[n−1]+n+1的第NNN项,其中f[1]=1,f[2]=1f[1]=1,f[2]=1f[1]=1,f[2]=1.InputN(1<原创 2020-12-12 15:40:55 · 124 阅读 · 0 评论 -
【SSL 1530】斐波那契数列III【矩阵乘法】
裴波拉契数列IIITimeTimeTime Limit:10000MSLimit:10000MSLimit:10000MS MemoryMemoryMemory Limit:65536KLimit:65536KLimit:65536KCaseCaseCase TimeTimeTime Limit:1000MSLimit:1000MSLimit:1000MSDescription求数列f[n]=f[n−1]+f[n−2]+1f[n]=f[n-1]+f[n-2]+1f[n]=f[n−1]+f[n−2]原创 2020-12-12 14:54:56 · 198 阅读 · 0 评论 -
【10.28模拟赛T4】最大异域和【数论异或】
分析:我寻思这不是最大异或和?因为不能有两个000 或两个111 统计出每个数二进制下111的个数 如果只有111位111则直接算222^iii要么则后面的都可以为111 可以选 全部累加成222^jjj即可CODE:#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int n,a[105],cnt[105],ans;void count_one(int..原创 2020-10-28 20:25:28 · 236 阅读 · 0 评论 -
【10.28模拟赛T3】区间和的和【数论】
分析:求出公式 :对于iii 包含a[i]a[i]a[i]的区间共有i∗(n−i+1)i*(n-i+1)i∗(n−i+1)个 则a[i]a[i]a[i]统计了i∗(n−i+1)i*(n-i+1)i∗(n−i+1)次最后累加即可CODE:#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const long long p=1e9+7;long long n..原创 2020-10-28 19:44:09 · 186 阅读 · 0 评论 -
【10.28模拟赛T1】[洛谷 P1452]Beauty Contest G【玄学】
题目描述题目给定平面上 n 个点,求凸包直径。输入格式第一行一个正整数 n。接下来 n 行,每行两个整数 x,y,表示一个点的坐标。输出格式输出一行一个整数,表示答案的平方。输入输出样例输入 #140 00 11 11 0输出 #12分析:O(nlogn)O(nlogn)O(nlogn)的复杂度+一堆玄学操作过紫题?勾股定理暴力求距离 取最大 即可 这种极限操作真的存在吗?CODE:#include<iostream>#include<cst原创 2020-10-28 17:04:54 · 193 阅读 · 0 评论 -
【10.27模拟赛T4】小Biu闯关【数论】
分析:首先考虑用[A,B][A,B][A,B]区间能凑成的区间为[A,B],[2A,2B],[3A,3C]....[kA,kB][A,B],[2A,2B],[3A,3C]....[kA,kB][A,B],[2A,2B],[3A,3C]....[kA,kB]当kA<=(k−1)BkA<=(k-1)BkA<=(k−1)B时 区间就发生重合 之后的数就全部都能凑出来所以我们只需要快速找到这个kkk即可 我们发现kA−(k−1)BkA-(k-1)BkA−(k−1)B满足单调性 所以我..原创 2020-10-28 16:38:18 · 325 阅读 · 0 评论 -
【10.26模拟赛T4】走方格【前后缀和】
分析:我们先预处理奇数位 与 偶数位的前缀和 与 后缀和后面直接枚举位置 + 统计即可CODE:#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int N=2e5+5;long long a[N],f[N][3];int n;int main(){ scanf("%d",&n); for(int i=1;i<=n;i++..原创 2020-10-26 21:38:53 · 116 阅读 · 0 评论