自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(188)
  • 收藏
  • 关注

原创 中国剩余定理与扩展模板

中国剩余定理:解决模数互质的线性同余方程组:中国剩余定理给出了这类方程的解法:(1)先求 X1 使得 X1 整除5、7并且 X1%3==2,再求 X2 使得 X2 整除3、7并且 X2%5==3,最后求 X3 使得 X3 整除3、5 并且 X3%7==2(2)那么 X = X1 + X2 + X3 必然是上述同余方程组的一个解,验证第一个方程:X2%3==0,X3%3==0,...

2018-12-12 20:51:51 352

原创 皮克定理和任意多边形的面积公式

1. 叉乘:若 :,,则:而:则:为三角形面积,建议百度叉乘的几何意义2.皮克公式:即:多边形面积 S = 多边形内整数点的个数 n + 多边形边上整数点的个数 / 2 -1注:多边形的顶点坐标必须是整数3. 线段上整数点的个数:gcd(线段在x轴的投影长,线段在y轴的投影长) + 1注:线段的两端点坐标都必须是整数简...

2018-11-09 19:19:19 10306

原创 数论基本定理和欧拉广义降幂公式

一. 威尔逊定理当p为素数时,(p-1)!= -1(mod p)其逆定理也成立,移项得:(p-1)! + 1整除 p二. 费马小定理当gcd(a,p)= 1且p为素数时,a ^(p-1)= 1(mod p)而a ^ 0 = 1(mod p),因此存在长度为p-1的循环节,费马降幂:a ^ b mod p = a ^(b mod p-1)mod p三. 欧拉定理...

2018-10-28 15:26:07 1892

原创 牛客练习赛56

题目:牛客练习赛56A:小蒟和他的乐谱解法:百度一下什么是升降八度后直接暴力B:小琛和他的学校解法:枚举每条边,维护这条边两边的节点个数和学生的个数直接计算答案即可代码:#include <bits/stdc++.h> #define x first#define y second#define pii pair<int,int&g...

2019-12-27 22:25:16 308

原创 2019-2020 ICPC 南昌现场赛 M:XOR Sum【拉格朗日插值】

题目:2019-2020 ICPC 南昌现场赛 M:XOR Sum题意:定义 f(i,k)=1⨁2⨁3⨁......⨁ik−1⨁ikf(i,k)=1\bigoplus 2\bigoplus 3\bigoplus ......\bigoplus i^k-1\bigoplus i^kf(i,k)=1⨁2⨁3⨁......⨁ik−1⨁ik,求 ∑k=1t∑i=xyf(i,k)\sum_{k=1}^...

2019-12-15 15:25:06 970

原创 【牛客练习赛55-E】:树【树形dp】

题目:牛客练习赛55 - E:树题意:给定一颗边权全为 1 的树,求两两点之间距离的平方的和分析:如果是求两两之间距离的和,直接树形dp算每条边的贡献即可;现在题目要求距离平方的和,还是考虑树形dp枚举每条边计算每条边的贡献,套路地将平方展开看一下,比如算: (a+b+c)*(a+b+c) = a^2 + a*(b+c) + b^2 + b*(a+c) + c^2 + c*(...

2019-12-14 14:36:40 462 2

原创 BZOJ---4241:历史研究【回滚莫队】

题目:BZOJ---4241:历史研究题意:给出 N个数,Q 次询问区间【qL,qR】内每个数 * 出现次数 的最大值分析:回滚莫队的板子题学习自:『回滚莫队及其简单运用』普通莫队每次添加数和删除数都要及时维护答案,但有时候删除数不好维护,有时候添加数不好维护,回滚莫队能在同样的复杂度内只维护添加数或删除数代码:#include <bits/st...

2019-12-12 21:12:01 194

原创 EOJ Monthly 2019.11 - E:数学题【反演+杜教筛+拉格朗日插值】

题目:EOJ Monthly 2019.11 - E:数学题题意:咕咕咕分析:题目等价于求解:∑i=1n∑a1=1i∑a2=1i...∑ak=1i[gcd(a1,a2,...,an,i)==1]\sum_{i=1}^{n}\sum_{a_1=1}^{i}\sum_{a_2=1}^{i}...\sum_{a_k=1}^{i}[gcd(a_1,a_2,...,a_n,i)==1]i=1∑n...

2019-12-11 21:49:36 240

原创 2019-2020 ICPC 南昌现场赛 K:Tree【dsu + 平衡树】

题目:2019-2020 ICPC Asia Nanchang Regional Onsite Contest题意:给定一颗树,求有多少个点对(x,y)满足:(1)二者不在一条链上(2)val[x]+val[y] = 2*val[lca(x,y)](3)二者之间的距离 <= k分析:dfs 依次枚举 lca,x,y属于不同的儿子子树内,遍历每个儿子子树统计答案;对每个 ...

2019-12-08 20:22:07 1122

原创 2019-2020 ICPC Asia Xuzhou Regional Contest【徐州现场赛】

题目:209-2020 ICPC Asia Xuzhou Regional Onsite ContestE. Multiply题意:找到最大的 i 使得 z*x^i 是 y! 的因子分析:题目有说:a1+a2+......+an < y,那么z 一定是 y!的因子[1],所以答案一定存在;如果 a 是 b 的因子,那么必有:将两个数唯一分解后,a 的每个质因子的幂...

2019-12-07 23:44:22 981 5

原创 2019-2020 ICPC Asia Yinchuan Regional Contest【银川现场赛】

题目:2019-2020 ICPC Asia Yinchuan Regional onsiteA. Girls Band Party题意:咕咕咕分析:题目要求选出 5 张名字不一样的牌,那就先将卡牌按名字分类,每一类最多只能选一个;定义 dp[i][j][k] 表示前 i 类加成为 j,且已经选了 k 张牌时的最大 power 和;j 最大为 150,但每次只会加 10...

2019-12-06 11:37:55 2046

原创 2019牛客暑期多校8E:Explorer【线段树分治+可撤销并查集】

题目:2019牛客暑假多校8E:Explorer题意:给定一张图,每条边有个区间【L,R】,当你的权值在这个区间时才能走这条边,问一共有多少权值可以从 1 走到 N笔记:可撤销并查集:就是没有路径压缩的并查集,但为了快速找到祖宗节点,采用启发式合并的方法,每次将节点数量少的集合合并到节点多的集合上;这样合并后,从叶子节点每往上移动一个节点,总的节点数至少增加一倍,所以整颗...

2019-11-14 09:49:40 218

原创 【CodeForces - 438D】:The Child and Sequence【线段树+数论】

题目:CodeForces - 438D:The Child and Sequence题意:给定一个序列,有三种操作:(1)区间求和(2)区间对一个数取模(3)单点修改分析:这个题的难点在于区间取模,并没有什么好的方法能快速维护区间和,考虑暴力取模:首先,只有 A[x] >= mod,取模操作才有意义,那么就可以维护区间最大值,去找到需要取模的数;这样暴力的复杂度如...

2019-11-12 20:08:51 113

原创 2019-2020 ICPC North-Western Russia Regional Contest【部分题解】

题目:ICPC 2019-2020 North-Western Russia Regional ContestE:Equidistant题意:给定一颗树,再给出 m 个关键点,让你找出一个点使得这个点到 m 个关键点的距离相等分析:(1)直观的做法就是换根dp,预处理出每个节点为根时,子树中的关键点到它距离最大值和最小值,次最大值和次最小值,换根dp的时候直接看所有关键点到...

2019-11-10 23:10:53 2203 3

原创 【CodeForces - 1009F】:Dominant Indices【dsu on tree】

题目:CodeForces - 1009F:Dominant Indices题意:给定一颗以 1 为根的树,求每颗子树下每个点距离根的所以长度中出现次数最多的长度分析:这题是长链剖分的模板题,可以做到O(N),但我只会 dsu on tree 做到O(NlogN):我们需要维护一个以长度为下标的数组,统计每个长度出现的次数就能得到出现最多的长度;dsu on tree 中...

2019-11-09 13:32:15 148

原创 【CodeForces - 570D】:Tree Requests【dsu on tree】

题目:CodeForces - 570D:Tree Requests题意:给定一棵树,每个节点有一个字母,给出 m 次询问,每次询问能否将以 v 为根的子树中深度为 h 的节点上的字母任意拼接成一个回文串分析:容易得出字母数量为奇数的不同字母的个数 <= 1 时,答案为 yes,否则为 no(1)首先可以按深度对节点分成不同的块,再跑一遍 dfs 序,那么子树就对应一...

2019-11-09 00:26:05 200

原创 【CodeForces - 600E】:Lomsat gelral【dsu on tree】

题目:CodeForces - 600E: Lomsat gelral题意:给定一颗树,每个点有一个颜色,求每颗子树下颜色的众数的颜色和笔记:dsu on tree:一直以为就是并查集,实际上是一种优雅的暴力,主要解决:(1)能离线且不带修改(2)需要统计子树下每个节点的信息来得到答案复杂度 O(NlogN),证明见:dsu on tree入门代码:#...

2019-11-09 00:00:24 160

原创 ZOJ---4040:Number Theory【Pollard_rho模板】

题目:ZOJ---4040:Number Theory题意:求一个最小的正整数,且它不能由 N 的某些不同因子之和得到分析:由于 N 很大,先用 Pollard_rho 算法分解 N 的质因子,然后 dfs一遍得到 N 的全部因子,将因子排序后扫一遍即可得到答案这里只存一个比较快的Pollard_rho算法模板代码:#include <bits/stdc++...

2019-11-06 23:56:11 168

原创 【CodeForces - 1252F】:Regular Forestation【树的同构】

题目:CodeForces - 1252F:Regular Forestation题意:给定一颗树,你需要找到一个点,移除这个点后,剩下的子树都是同构的笔记:判定树是否同构,有两种方法,一是树的最小表示法,二是树哈希,最小表示法的时间空间都比较大,数据小时适用有根树的最小表示法:对树跑一遍括号序列,叶子节点的括号序列就是“()”,非叶子节点,先对儿子节点的括号序列从小...

2019-10-30 17:04:59 528

原创 HDU---4746:Mophues【莫比乌斯反演】

题目:HDU - 4746题意:定义 f(x) 表示 x 的素因子的个数 (包括相同的),如果 f(x) <= p,则称 x 是 p的幸运数;Q 次询问,每次给出 N,M,P,求有多少对 (a,b) 使得 gcd(a,b) 是 p 的幸运数,并且 1=< a <= N,1 =< b <= M分析:题目所求等价于(假设 n <= m):...

2019-10-15 11:16:05 2220

原创 【牛客练习赛53】:B, C, E 题解

B:美味果冻分析:更换一下枚举顺序得到:容易发现 i 为 [j,2j),[2j,3j)... [(t-1)*j,t*j)时后面向下取整的结果是一样的,分块计算即可,j 次幂通过(j-1)次幂 O(1) 得到,时间复杂度为 O(NlogN)代码:#include <bits/stdc++.h> using namespace std;typedef l...

2019-10-12 00:38:33 171

原创 2019年南昌邀请赛 - 网络赛G:tsy's number【莫比乌斯反演】

题目:2019年南昌邀请赛 - 网络赛G:tsy's number题意:多组输入N,求下面式子模 (1<<30) 后的值:分析:(1)根据欧拉函数的定义,直接化简为:预处理 phi(g)*g^3 的前缀和,只要知道 f(n) 的值就可以分块快速计算了,那么 f(n):g(n) 的值可以 O(1) 直接计算(由于 12 与模数的...

2019-10-10 22:00:26 173

原创 【CodeForces - 1228E】:Another Filling the Grid【容斥原理】

题目:CodeForces - 1228E:Another Filling the Grid题意:给定一个 N xN 的网格,每个格子必须要填一个【1,K】之间的数,问有多少种不同的填法使得每行每列的最小值都是 1 ?分析:不会dp,只会容斥的做法如果不考虑限制,总的方案数就是,只需要减去不满足限制的方案数就是答案,也就是至少有一行或至少有一列的最小值不为 1 的方案...

2019-10-10 16:58:27 392

原创 2019年南昌邀请赛 - 网络赛J:Distance on the tree【树上主席树】

题目:2019年南昌邀请赛 - 网络赛J:Distance on the tree题意:给定一颗带边权的树,Q 次询问,每次查询 u 到 v 的路径上边权 <= W的边的数量分析:一眼树链剖分+主席树的模板题,但有个更好的写法:和求树上两点间距离相似,只要计算出 u 到根的路径上 <= w的边数 + v 到根路径上 <= w 的边数 - 2*LCA(u...

2019-10-09 23:54:45 152

原创 【CodeForces - 1223E】:Paint the Tree【树形dp】

题目:CodeForces - 1223E:Paint the Tree题意:题意生涩难懂,大概意思是:给定一颗树,每个点最多可以使用k 次,每选一条边,会消耗两个端点的一次使用机会,问能选择的最大的边权值和是多少分析:树形dp肯定没跑,考虑怎样定义状态;容易发现一个节点的状态只有 2 个,一是这个节点用掉了全部的 k 次,二是这个节点最多用了 k-1 次,也就是还可以用一...

2019-10-09 13:07:42 525

原创 【CodeForces - 163E】:e-Government【AC自动机fail树上dfs序+树状数组】

题目:CodeForces - 163E:e-Government题意:给出 K个模式串,N 次操作:(1)删除一个模式串(2)添加一个模式串(K个中的某一个)(3)给出一个主串,问模式串在主串中总共出现了多少次笔记:fail树:AC自动机上每一个节点都有唯一的fail指针,那么将fail指针逆转后,所有的 fail指针和节点将形成一颗有根树根据 fail指针的定义...

2019-10-08 16:49:33 279

原创 【UVALive - 7040】:Color 【容斥原理】

题目:UVALive - 7040 :Color题意:大致是一共有 M中颜色,你需要从中选 K种给 N 个物品染色,要求相邻的不能染一样的颜色,并且每种颜色都要用上,求染色的方案数笔记:学习自:容斥原理详解容斥公式:先看这个问题:K 种颜色给 N 个物品染色,要求相邻的不能染一样的颜色的方案数,答案就是:k*pow(k-1,n-1),此时算的是小于等于 k 个...

2019-10-06 21:16:55 194

原创 【CodeForces - 1221F】:Choose a Square【线段树】

题目:CodeForces - 1221F:Choose a Square题意:在二维平面上给定 N 个点,每个点有一个权值,你需要找到一个正方形,正方形的左下角和右上角都在 y = x 这条直线上,并且使得正方形内的点的权值和减去正方形的边长的值最大分析:这道题放了很久,今晚突然就想通了......大致思路:首先,一个点能在的正方形是有限制的;设点 P(px, py...

2019-10-05 23:03:21 144

原创 【CodeForces - 1234F】:Yet Another Substring Reverse【状压dp】

题目:CodeForces - 1234F题意:给定一个字符串,你最多有一次机会将其某个子串翻转,问每个字母只出现一次的最长的子串的长度是多少分析:容易发现,只需要找到两个没有任何交集的子串,使得其长度和最大即可,这样总能翻转其中某个子串使得两个子串连在一起;题目故意缩小了字符集,那就套路的把子串状压起来,子串的长度一定不会超过20;然后就要枚举每个集合,另一个集合一定是其补集...

2019-10-04 11:35:48 339

原创 【CodeForces - 1220E】:Tourism【tanjar缩环+树形dp】

题目:CodeForces - 1220E:Tourism题意:给定一张没有自环和重边的无向图,每个点有一个权值,求从一个起点出发的最大权值和,不能连续走同一条边,且每个点的权值只会被算一次分析:[in a row],这个短语居然有连续的意思,容易导致读错题容易想到,如果一条链上有环,那么就可以原路返回,否则就不能再走了;先用 tanjar 缩环后变成一棵树,预处理出每个...

2019-10-01 11:47:32 360

原创 2019年西安邀请赛B:Product 【杜教筛+降幂】

题目:2019年西安邀请赛B:Product题意:给定 N,M,P,求下面式子的值最后模P:分析:m 的值恒定,先考虑求m最后的幂,即:上式中 d(x) 表示 x 的约数的个数;F函数的值是一段一段的,每一段都相等,如果知道了 g*d(g) 的前缀和就可以分块加速枚举 g; 设其前缀和 G(n) 为:完美!!!这个求和式是可以分块快速计...

2019-09-24 20:32:38 297

原创 【hihoCoder - 1995】:树上两点间边权的最小值【LCA or 树剖】

题目:hihoCoder-1995:树上最短边题意:Q 次询问树上两点间边权的最小值笔记:(1)可以像求树上两点间的 LCA 那样,预处理出倍增数组的同时处理出倍增路径的边权最小值,然后跳的时候取最小值即可,与倍增求 LCA 相比就多了一个数组,单次复杂度为log#include <bits/stdc++.h>using namespace std;...

2019-09-23 18:43:13 990

原创 【AtCoder - ABC133F】:Colorful Tree【树上莫队 or 树剖+主席树】

题目:AtCoder - ABC133F:Colorful Tree题意:给定一颗树,每条边有一个颜色和长度,现在有 Q 次独立的查询,每次先将 u 到 v 的路径上颜色为 x 的边长度修改成 y,然后查询u 到 v 的路径长度分析:(1)时限给得比较大,最自然的想法是树上莫队,大致过程是先对树跑一个括号序列,然后就可以像普通莫队那样搞了,但是我们需要维护的是边的信息,于是乎...

2019-09-20 23:54:24 424

原创 2019年ACM-ICPC - 南昌网络赛I:Yukino With Subinterval【带修主席树】

题目:2019ICPC南昌网络赛I:Yukino With Subinterval题意:给定长度为 N 的数组,有两种操作:(1)单点修改,(2)查询区间【qL,qR】内有多少个不同的段(连续相同的为一段),且满足每一段的数字介于【x,y】之间分析:为了补这个题,专门学了带修主席树~~~先把每一段的数字压缩到它的左端点上,其它位置为0,那么(2)操作相当于查询区间 [qL...

2019-09-17 23:20:14 234

原创 ZOJ---2112:Dynamic Rankings【动态主席树】

题目:ZOJ---2112:Dynamic Rankings题意:求区间第 K 大,但有单点修改操作笔记:主席树的本质就是权值线段树+前缀和,静态主席树也是按照前缀和的思想建的权值线段树;如果现在有修改操作,那么就得修改这个点后面所有的权值线段树;考虑到查询的也是前缀和,于是就引入树状数组来加速这个过程,实际上就是牺牲查询加速修改核心:现在树状数组每个节点都是一颗...

2019-09-17 17:17:26 174

原创 The Preliminary Contest for ICPC Asia Shanghai 2019【B F J G】

B. Light bulbs题意:一排 N 个初始关着的灯泡,M个操作,每个操作使得区间【L,R】的状态反转,求最后开着灯泡的数量分析:读完题首先想到的是差分,但是T*N有点大,而M表较小,于是考虑离散化区间操作的L,R+1,然后差分就行了;注意差分后每个点代表了原序列的一个区间代码:#include <bits/stdc++.h>#define l ...

2019-09-15 21:50:32 434 2

原创 2019杭电暑假多校4:K-th Closest Distance【主席树+二分】

题目:2019杭电暑假多校4:K-th Closest Distance题意:给定一个长度为N的数组,M次在线询问区间【L,R】中 abs(a[i] - p) 第 k 小的值是多少分析:如果将区间排好序后,abs(a[i] - p) 的值一定凹的,从 p 开始越往两边走就越大;考虑二分答案,如区间【L,R】的数中位于【p-mid,p+mid】的个数小于等于 k,那么这个答案一...

2019-09-10 19:44:12 127

原创 2019年南昌丝绸之路邀请赛B:Polynomial【拉格朗日插值模板】

题目:2019年ICPC南昌邀请赛B:Polynomial笔记:设最高次为的多项式表达式为:当给出个互不相同的点时,就能唯一确定这个多项式,根据拉格朗日插值法有:那么就能O(N^2)算出任意一点的插值,当Xi的取值连续时,即Xi = 0,1,2......n-1,n时,预处理分子的前后缀和分母的阶乘就可以O(N)算出任意一点的插值学习自:拉格朗日插值...

2019-09-10 13:51:38 403

原创 2019年ACM-ICPC - 南昌网络赛H:The Nth Item【降幂+分块】

题目:2019ICPC南昌网络赛H:The Nth Item题意:Fn = 3Fn-1 + 2Fn-2,Q次查询Fn (Q <= 1e7)笔记:注意到时限为1s,Q又大得可怕,直接矩阵快速幂是过不了的,但是数据有点弱,矩阵快速幂+记忆化也能跑过广义斐波那契数列都能求出通项公式,方法参考:斐波那契数列通项公式是怎样推导出来的?推出通项为:分析:(1)根...

2019-09-10 11:24:59 378

原创 The Preliminary Contest for ICPC Asia Xuzhou 2019

题目地址:The Preliminary Contest for ICPC Asia Xuzhou 2019A:Who is better?题意:类似于有N个石子,先手第一次不能拿完,每次后手只能拿1 到 前一次拿的数量*2之间的数量,不能拿时则输分析:感觉描述有点问题,题面说N为最小正整数,又说N > 1首先用扩展中国剩余定理求出N,简单模拟前几个数,容易发现(...

2019-09-07 19:24:13 705 5

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除