- 博客(245)
- 收藏
- 关注
原创 FlyWhite的ACM模板
FlyWhite的ACM模板目录数学数论部分欧几里得、扩欧几里得、类欧几里得——————————————2Pollard_rho算法(1/4次方分解质因数)————————————4逆元————————————————————————————6欧拉函数——————————————————————————7CRT与EXCRT————————————————————————8模m的k次根————————————————————————9拉宾米勒素数测试(c++与大数python)——
2020-06-12 16:23:34 1583
原创 min25筛学习笔记&模板详解
min25筛算法推导&模板详解问题引入引入函数σ0(n)\sigma _0(n)σ0(n)为n的正因数的数量,求S(n,k)=∑i=1nσ0(ik)S(n,k)=\sum_{i=1}^n\sigma_0(i^k)S(n,k)=∑i=1nσ0(ik),n,k≤1010n,k\le 10^{10}n,k≤1010简化分析与引入对于σ0(n)\sigma_0(n)σ0(n)函数,...
2019-05-22 23:20:35 3271 2
原创 A Friend Introduction to Number Theory读书笔记(ACM 数论入门)
ACM数论入门(by FlyWhite)前言:人类的魅力是在其克服困难的时候体现的——A_piChapter 2 勾股数组本原勾股数组(PPT):是一个三元组(a,b,c),其中a,b,c没有公因数,且满足a2+b2=c2a^2+b^2=c^2a2+b2=c2勾股数组定理猜测对本原勾股数组进行猜测,a,b奇偶不同,且C总为奇数证明:a,b都是偶数,则c也一定是偶数,那么就存...
2019-02-12 21:25:57 1663
原创 HDU6434 Problem I. Count(欧拉函数)
HDU6434 Problem I. Count(欧拉函数)题目大意求∑i=1n∑j=1i−1[gcd(i−j,i+j)=1](n≤2e7)\sum_{i=1}^n\sum_{j=1}^{i-1}[gcd(i-j,i+j)=1](n\le 2e7)i=1∑nj=1∑i−1[gcd(i−j,i+j)=1](n≤2e7)T(T≤1e5T\le 1e5T≤1e5)组数据.解题思路(误)...
2019-12-04 14:25:11 357
原创 2019上海网络赛 Triple (暴力+生成函数&FFT)
2019上海网络赛 Triple (暴力+生成函数&FFT)题目大意给出三组边A,B,C,从三组边中各选一条边,问有多少可以种做法可以组成三角形解题思路总共边的组合减去不能组成三角形的组合数就是答案。对于每组边种的每条边,统计剩余的两组边的和有多少对和大小小于自己,就是不合法的数量。对于剩余两组边的和的权值数组,在n<=1000的时候暴力统计,n>1000的时候生成函数...
2019-09-18 23:33:54 498
原创 南昌网络赛E Interesting Series(生成函数&分治&FFT)
南昌网络赛E Interesting Series(生成函数&分治&FFT)题目大意定义FiF_iFi为F1=1Fn=a∗Fn−1+1F_1=1\\F_n=a*F_{n-1}+1F1=1Fn=a∗Fn−1+1定义一个集合s的value为value(s)=Fsum(s)value(s)=F_{sum(s)}value(s)=Fsum(s)对于一个集合S,现询...
2019-09-10 01:42:37 519 1
原创 Comet OJ - Contest #10 C 鱼跃龙门(质因数分解&扩展欧几里得)
Comet OJ - Contest #10 C 鱼跃龙门(质因数分解&扩展欧几里得)题目大意给定一个正整数 n,一共有 n 座龙门,跳过第 j (j<n) 座龙门将会到达第 j+1座龙门前,特殊地,跳过第 n座龙门后将会到达第 1 座龙门前。胖头鱼一开始在第一座龙门前,接下来,第 i 个时刻内它会向前跳 i 次,每次跳过 1 座龙门,求最小的正整数 x 满足第 x 个时刻结束...
2019-09-09 20:07:23 473 1
原创 Mobile Service(dp)
Mobile Service(dp)题目大意一个公司的三个员工分别在1,2,3,现在从一个位置q前往一个地方p需要代价c(q,p).现在有一些任务地点需要依次每次有一个人前往,问最小代价解题思路很明显的一个四维DP,但是直接开四维的话空间和时间都不行,但是发现每个时间都至少有一个员工位于指定地点,由此可以优化成3维,只要简单地每次枚举上一次任务中除了在制定地点的人剩余的两个人的位置即可A...
2019-08-27 23:04:52 405
原创 luogu P2480 [SDOI2010]古代猪文(Lucas定理&中国剩余定理)
luogu P2480 [SDOI2010]古代猪文(Lucas定理&中国剩余定理)题目大意iPig打算研究古时某个朝代的猪文文字。根据相关文献记载,那个朝代流传的猪文文字恰好为远古时期的k分之一,其中k是N的一个正约数(可以是1和N)。不过具体是哪k分之一,以及k是多少,由于历史过于久远,已经无从考证了。iPig觉得只要符合文献,每一种能整除N的k都是有可能的。他打算考虑到所有可能...
2019-08-20 23:13:41 154
原创 HDU 6680 Rikka with Quicksort(数学推导&分段打表)
HDU 6680 Rikka with Quicksort(数学推导&分段打表)题目大意给出一个函数gm(i)=00≤i≤mgm(i)=i−1+1i∑j=1i(gm(j)+gm(i−j))i>m\begin{aligned}&g_m(i)=0&0\le i\le m\\&g_m(i)=i-1+\frac{1}{i}\...
2019-08-20 22:31:40 392
原创 HDUOJ6662 Acesrc and Travel(树型DP)
HDUOJ6662 Acesrc and Travel(树型DP)题目大意给出一颗树,有每个节点有两个权值,现在有两个人,这两个人走过同一个顶点有不同的收益,这两个人先后选择下一个要走的顶点,两个人都会走使得最终自己收益减去对方收益尽可能大的走法,问最终两个人的差值会有多大解题思路对每个顶点的两个权值相减转换成一个权值之后,两个人的目的就变成了使得最终的收益尽可能大和尽可能小。对次可以得到...
2019-08-17 00:57:53 242
原创 2019牛客多校第九场AThe power of Fibonacci(广义BM)
2019牛客多校第九场AThe power of Fibonacci(广义BM)题目大意求斐波那契数列m次方的前n项和解题思路显然,斐波那契的m次方前缀和依然是线性递推,因此考虑用exBM求解,套板子就行AC代码#include<bits/stdc++.h>using namespace std;typedef long long LL;const int mod=1...
2019-08-17 00:57:16 508 5
原创 牛客多校第九场 KM and M(类欧几里得)
牛客多校第九场 KM and M(类欧几里得)题目大意给出n和M,求∑k=1n(kM)&M(mod 109+7)\sum_{k=1}^n(kM)\&M(mod\ 10^9+7)k=1∑n(kM)&M(mod 109+7)解题思路对于kM&M对于M的每个二进制位考虑就是⌊kM2i⌋−2⌊kM2i+1⌋\left\l...
2019-08-17 00:56:34 397
原创 2019 南昌邀请赛 B. Polynomial(lagrange插值)(模板)
2019 南昌邀请赛 B. Polynomial(lagrange插值)(模板)题目大意给出一个n次多项式的前n+1项,求多项式的前缀和解题思路先用插值求出第n+2项,再用插值求出前缀和的多项式,版题模板自制。AC代码#include<bits/stdc++.h>using namespace std;const int mod = 9999991;int quic...
2019-08-16 19:47:53 263
原创 luogu P3327 [SDOI2015]约数个数和(rng58-clj等式)
luogu P3327 [SDOI2015]约数个数和(rng58-clj等式)题目大意设d(x)d(x)d(x)为x的因子的个数,给出N和M求∑i=1n∑j=1md(i,j)\sum_{i=1}^n\sum_{j=1}^md(i,j)i=1∑nj=1∑md(i,j)解题思路根据rng58-clj等式,有∑i=1n∑j=1md(i,j)=∑i=1n∑j=1m[gcd(i,j)=...
2019-08-14 00:16:27 333
原创 HDU5608 function(杜教筛)
HDU5608 function(杜教筛)题目大意给出一个函数其满足N2−3N+2=∑d∣Nf(d)N^2-3N+2=\sum_{d|N}f(d)N2−3N+2=d∣N∑f(d)求∑i=1nf(i)\sum_{i=1}^nf(i)∑i=1nf(i)解题思路很明显的杜教筛,它甚至帮你把需要构造的卷积给出来了,对着做就行了。可以发现原函数本质就是莫比乌斯函数卷积上那个多项式,为了方...
2019-08-14 00:15:15 237
原创 luogu P3756 [CQOI2017]老C的方块(最小割&四色染色)
luogu P3756 [CQOI2017]老C的方块(最小割&四色染色)题目大意老C是个程序员。作为一个懒惰的程序员,老C经常在电脑上玩方块游戏消磨时间。游戏被限定在一个由小方格排成的R行C列网格上,如果两个小方格有公共的边,就称它们是相邻的,而且有些相邻的小方格之间的公共边比较特殊。特殊的公共边排列得有很强的规律。首先规定,第1行的前两个小方格之间的边是特殊边。然后,特殊边在水平...
2019-08-13 13:10:50 236
原创 2019牛客多校第八场J.Just Jump(容斥原理)
2019牛客多校J.Just Jump(容斥原理)题目大意有一条河,长度为L,每次至少需要跳d个单位长,有m次攻击<t,p><t,p><t,p>意味着时刻t攻击位置p(即此时不能跳到这个位置上)问从0跳到L有多少种跳法解题思路假设没有攻击的情况下,跳跃长度k可以通过递推得出{dp[k]=0k<ddp[k]=...
2019-08-11 23:58:10 206
原创 Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥)
Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥)题目大意定义d(x)d(x)d(x)的值为x的最小素因子,定义f(x)={1x=1d(x)f(xd2(x))x>1,d2(x)∣xd(x)f(xd(x))otherf(x)=\begin{cases}1&x=1\\d(x)f(\frac{x}{d^2(x)}) &x...
2019-08-10 10:15:24 431 2
原创 luogu P3308 [SDOI2014]LIS(最小字典序最小割)
luogu P3308 [SDOI2014]LIS(最小字典序最小割)题目大意给出一段序列其中点都有a,b,c三种权值,每次想要删除一个数,则要花费其b权值的花费,要求花费尽可能少的b权值,删除一些数字,使得序列对于a权值的最长上升子序列缩短,当存在多种方案时,输出删除的数字的c排序之后字典序尽可能小的那个方案解题思路先处理出序列的最长上升子序列的长度,再对每个序列中每个可以作为最长上升子...
2019-08-09 15:15:42 214
原创 2019牛客多校第7场 K.Function(min_25筛)
2019牛客多校第7场 K.Function(min_25筛)题目大意定义一个函数csl(p,x)={3e+1x=pe and ∃a,b p=a2+b21x=pe and ̸∃a,b p=a2+b20othercsl(p,x)=\begin{cases}3e+1&x=p^e\ and\ \exist a,b\ p...
2019-08-08 23:03:00 554
原创 luoge P2774 方格取数问题(最小割)
luoge P2774 方格取数问题(最小割)题目大意在一个有 m*n 个方格的棋盘中,每个方格中有一个正整数。现要从方格中取数,使任意 2 个数所在方格没有公共边,且取出的数的总和最大。试设计一个满足要求的取数算法。对于给定的方格棋盘,按照取数要求编程找出总和最大的数。解题思路对棋盘中的点进行黑白染色,将所有(i+j)为奇数的划分到白色,为偶数的划分到黑色,所有白色的点向其四周连容量为无...
2019-08-07 00:38:34 186
原创 luogu P2805 [NOI2009]植物大战僵尸(有向图的环&最大权闭合子图)
luogu P2805 [NOI2009]植物大战僵尸(有向图的环&最大权闭合子图)题目大意现在,我们将要考虑的问题是游戏中Zombies对Plants的进攻,请注意,本题中规则与实际游戏有所不同。游戏中有两种角色,Plants和Zombies,每个Plant有一个攻击位置集合,它可以对这些位置进行保护;而Zombie进攻植物的方式是走到植物所在的位置上并将其吃掉。游戏的地图可以抽象...
2019-08-07 00:38:03 157
原创 luogu P1446 [HNOI2008]Cards(Burnside引理)
luogu P1446 [HNOI2008]Cards(Burnside引理)题目大意小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有多少种染色方案,Sun很快就给出了答案.进一步,小春要求染出Sr张红色,Sb张蓝色,Sg张绿色.他又询问有多少种方案,Sun想了一下,又给出了正确答案. 最后小春发明了M种不同的洗牌法,这里他又问Su...
2019-08-07 00:37:30 184
原创 luogu P2561 [AHOI2002]黑白瓷砖(polya定理)
luogu P2561 [AHOI2002]黑白瓷砖(polya定理)题目大意将n(n+1)/2n(n+1)/2n(n+1)/2个六边形拼成三角形的形状,对这个三角形有顺时针旋转120度,逆时针旋转,水平反转,三种置换,现在可以对每个六边形进行染色,问有多少种不同的染色方法题目大意设Sn=n(n+1)2Sn=\frac{n(n+1)}{2}Sn=2n(n+1)置换一:不进行变换:Sn{...
2019-08-07 00:36:55 295
原创 luogu P1935 [国家集训队]圈地计划(最小割)
luogu P1935 [国家集训队]圈地计划(最小割)题目大意最近房地产商GDOI(Group of Dumbbells Or Idiots)从NOI(Nuts Old Idiots)手中得到了一块开发土地。据了解,这块土地是一块矩形的区域,可以纵横划分为N×M块小区域。GDOI要求将这些区域分为商业区和工业区来开发。根据不同的地形环境,每块小区域建造商业区和工业区能取得不同的经济价值。更具...
2019-08-07 00:34:36 173
原创 HDUoj6624 fraction(辗转相除法)
HDUoj6624 fraction(辗转相除法)题目大意给出一个p和x要求求出最小的b满足a≡bx(mod p)a\equiv bx(mod\ p)a≡bx(mod p)解题思路先对原式进行一些转化a≡bx(mod p)a=bx−pc(c∈Z)∵0≤a<b→0≤bx−pc<b→px≤bc<px−1\begi...
2019-08-06 12:56:45 542 11
原创 luogu P1646 [国家集训队]happiness(最小割)
luogu P1646 [国家集训队]happiness(最小割)题目大意高一一班的座位表是个n*m的矩阵,经过一个学期的相处,每个同学和前后左右相邻的同学互相成为了好朋友。这学期要分文理科了,每个同学对于选择文科与理科有着自己的喜悦值,而一对好朋友如果能同时选文科或者理科,那么他们又将收获一些喜悦值。作为计算机竞赛教练的scp大老板,想知道如何分配可以使得全班的喜悦值总和最大。解题思路...
2019-08-04 21:05:33 156
原创 2019牛客多校第6场 Androgynos(构造)
2019牛客多校第6场 Androgynos(构造)题目大意对于n个节点,构建出一幅图使得有,其补图为原图的一个映射使得其与原图同构解题思路https://math.stackexchange.com/questions/40745/constructing-self-complementary-graphs只有k=4nk=4nk=4n或k=4n+1k=4n+1k=4n+1时答案不为0....
2019-08-03 17:11:11 298
原创 2019牛客第5场 Fmaximum clique 1(最大独立集合)
2019牛客第5场 Fmaximum clique 1(最大独立集合(网络流做法和二分图匹配做法))题目大意给出n个数字,问一种分法使得可以分出一个尽可能大的集合其中的数字之上二进制位上有两个不同解题思路由于数字互不相同,因此至少两位不同的反面就是恰好有一位是不同的。若建图,使得两个数字中恰好有一位不同的点相邻,则只需要找出这个二分图的最大独立集即可。做法(二分图匹配)对于最大独立集合...
2019-08-03 00:45:49 307
原创 2019牛客多校第5场 generator 2(BSGS)
2019牛客多校第5场 generator 2(BSGS)题目大意已知x0x_0x0,a,b,p,现有递推式xn=(xn−1∗a+b)%px_n=(x_{n-1}*a+b)\%pxn=(xn−1∗a+b)%p,每次询问一个v,问最小的n使得有xn=vx_n=vxn=v。解题思路我们首先可以发现这个数列可以写出通项xn=x0⋅an+ban−1a−1(mod p...
2019-08-03 00:45:07 322 3
原创 HDU6607Easy Math Problem(min_25筛+杜教筛+拉格朗日插值)
HDU6607Easy Math Problem(min_25筛+杜教筛+拉格朗日插值)题目大意求∑i=1n∑j=1ngcd(i,j)klcm(i,j)[gcd(i,j)∈prime]\sum_{i=1}^n\sum_{j=1}^ngcd(i,j)^klcm(i,j)[gcd(i,j)\in prime]i=1∑nj=1∑ngcd(i,j)klcm(i,j)[gcd(i,j)∈pri...
2019-07-30 17:00:06 808
原创 HDU6611 K Subsequence(dijkstra优化费用流)
HDU6611 K Subsequence(dijkstra优化费用流)题目大意给出一段序列,可以从中找出最多k段不下降子序列,使得权值和最小解题思路建立源点汇点和序列点,将所有的点拆成两个,分为母点和子点,母源点对子源点连接容量为k,费用为0的边,序列母点向序列子点连接容量为1,费用为序列上该点的值的负值,所有的序列子点向其后的权值大于等于它的序列点的母点连接容量为1,费用为0的边,所有...
2019-07-30 00:44:10 938 13
原创 一些与gcd有关的前缀和公式
一些与gcd有关的前缀和公式给定n求小于等于n且与n互素的数之和∑d=1nd[gcd(d,n)=1]\sum_{d=1}^nd[gcd(d,n)=1]d=1∑nd[gcd(d,n)=1]这个问题可以通过高斯求∑i=1ni\sum_{i=1}^ni∑i=1ni的方式来求解可以发现,当n≥2n\ge2n≥2时,有gcd(d,n)=1gcd(d,n)=1gcd(d,n)=1则必然有gcd...
2019-07-30 00:43:37 863
原创 BZOJ1036 树的统计Count(树链剖分+线段树)
BZOJ1036 树的统计Count(树链剖分+线段树)题目大意一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路...
2019-07-28 23:27:39 218
原创 SPOJ QTREE3Query on a tree again!(树链剖分+树状数组+二分)
SPOJ QTREE3Query on a tree again!(树链剖分+树状数组+二分)题目大意现在有一颗树,其所有的节点都为白色。有两种操作 ,一是将一个节点的颜色进行反转(即黑色变成白色,白色变成黑色),一是查询1号节点和v节点路径上深度最小的那个黑色节点解题思路设黑色的节点权值为1,白色的节点权值为0,对树进行剖分后用树状数组维护前缀和。对于每次查询,先找出节点v在上升到1号节...
2019-07-28 23:27:02 135
原创 HDUOJ6602 Longest Subarray(线段树)
HDUOJ6602 Longest Subarray(线段树)题目大意给出一段序列,求出其中最长的一段子序列,使得这段子序列中的每个数字出现的次数都要大于等于K次解题思路对于每个位置i,维护出这个数字上k次出现的位置,设为lastk[i](即lastk[i]-i,数字a[i]恰好出现了k次)。枚举右节点,对于每个右节点维护出这个节点之前所有的节点到这个节点形成的区段中有多少的数字出现的次数...
2019-07-27 10:33:45 284
原创 Poj1741 Tree(树分治)
Poj1741 Tree(树分治)题目描述给出一棵树,求出其中有多少点对满足点之间的路径小于某个值K解题思路路径可以分成树间路径和树内路径。对于树间路径只需要满足两点到树的根节点的距离之和小于等于k则满足条件。只要对树间路径进行容斥即是答案。为此需要根据根节点进行递归容斥,通过树分治的思想,每次找树的中心进行计算可以将递归次数降到到log(n),算上每次枚举需要对子树的所有边进行排序,因此...
2019-07-26 16:45:35 196
原创 牛客多校第三场 D Big Integer(欧拉函数&计数)
牛客多校第三场 D Big Integer(欧拉函数&计数)题目大意给出一个函数A(n)=∑i=0n−110iA(n)=\sum_{i=0}^{n-1}10^iA(n)=∑i=0n−110i,现在给出一个素数p,以及范围n,m.求有多少(i,j)(i,j)(i,j)满足1≤i≤n,1≤j≤m,A(ij)≡0(mod p)1\le i\le n,1\le j\le m,A(i...
2019-07-25 23:35:23 216
原创 2019杭电多校第二场1008 Harmonious Army(最小割)
2019杭电多校第二场1008 Harmonious Army(最小割)题目大意给出一幅图,对其中的点进行黑白染色,边根据两个端点的颜色不同有不同的权值,设为A,B,C,问如何染色使得总的边权最大解题思路设一个源点一个汇点,其中xy都是原图的点,建下述图,通过作割表示不选择其他两种方案这样就要求有a+b=B+Ac+d=C+Ba+e+d=A+Cb+e+c=A+C\begin{ali...
2019-07-25 08:32:45 250
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人