自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

流水

若能做到自律、专注、坚持、不急功近利,又有什么是做不好的呢?

  • 博客(78)
  • 收藏
  • 关注

原创 我的ACM算法之路

写在前面其实去年12月打完南京区域赛就基本算是退役了,那时候就想写这篇退役贴了…一直拖到现在我是很庆幸自己能在大学刚刚开始就找到了自己喜欢做的事情,学习算法的过程总体来看是让人非常开心的,尽管中间有许多的不顺利,但也一路披荆斩棘坚持到最后,拿了区域赛银,也算是不错的成绩了,今年也拿到了满意的实习offer,从算法竞赛到工作也算是无缝衔接下面都是个人的一些经历和经验,经验也不适合所有人,看看就好心路历程我了解ACM-ICPC是大一进来前的那个暑假,在此之前,我基本没怎么接触过算法竞赛,甚至听都没听过

2021-04-04 14:50:38 391 3

原创 浙江工商大学2020年新生赛部分题解 (一)

站神的 A+B problem题意对于0≤x≤a,0≤y≤b,0≤z≤c0 \leq x \leq a, 0 \leq y \leq b, 0 \leq z \leq c0≤x≤a,0≤y≤b,0≤z≤c请问有多少种满足条件的三元组(x,y,z)(x, y, z)(x,y,z),满足x+y=zx + y = zx+y=za,b,c≤106a,b,c \leq 10 ^ 6a,b,c≤106题解好家伙,真正的签到题都在最后其实这题看最开始的通过率就知道,它不是最简单的题这时候应该转换策略,去读

2020-12-20 19:29:43 717

原创 2020CCPC网络赛 Residual Polynomial 指数型母函数+多项式 (HDU 6900)

题解fi(x)=bifi−1′(x)+cifi−1(x)f_i(x) = b_i f_{i-1}^{′}(x) + c_i f_{i−1}(x)fi​(x)=bi​fi−1′​(x)+ci​fi−1​(x)这个形式,有点像是能提出一个系数然后递推就是这里的fi−1′(x)f_{i-1}^{′}(x)fi−1′​(x)怎么处理是个问题因为题目给的f(x)f(x)f(x)是一个普通型母函数,所以求导的话,(aixi)′=iaixi−1(a_ix^i)^{′}=ia_ix^{i - 1}(ai​xi)′=

2020-09-20 18:13:57 409 1

原创 CF592D Super M 树形换根dp

CF592D Super M题意无根树上给定mmm个点,现在可以以树上任意一个点作为起点,求使得经过所有给定点的路径长度之和最小的起点和路径长度之和题解我发现大部分人都是用什么虚树或者树的直径那些来搞的,其实没有必要,考虑换根树形dp考虑如何计算确定根时的答案:现在以rtrtrt为根,需要依次经过所有给定点(标记一下,记为tag[u]=1tag[u]=1tag[u]=1)先考虑经过所有点并且回到rtrtrt的情况对于点uuu来说,如果tag[u]=1tag[u]=1tag[u]=1,那么rt

2020-08-22 23:36:02 149

原创 2020杭电多校第六场 A Very Easy Graph Problem 点分治 (HDU 6832)

A Very Easy Graph Problem不知道有没有人跟我一样点分治写的…题解根据题意,第iii条边长度为2i2^i2i,且21+22+⋅⋅⋅+2i−1=2i−1<2i2^1+2^2+···+2^{i - 1} =2^i-1<2^i21+22+⋅⋅⋅+2i−1=2i−1<2i,即后面加进去的边要大于前面所有边之和那么显然,如果在加入当前边(u,v,2i)(u,v,2^i)(u,v,2i)之前,uuu和vvv已经连通了,我们就不用再加这条边了(加之前能连通,而且根据上面说的

2020-08-06 20:52:51 451 3

原创 2020杭电多校第六场 A Very Easy Math Problem 莫比乌斯反演 (HDU 6833)

A Very Easy Math Problem题解∑a1=1n∑a2=1n⋅⋅⋅∑ax=1n(∏j=1xajk)f(gcd(a1,a2,...,an))gcd(a1,a2,...,an)=∑d=1ndf(d)∑a1=1n∑a2=1n⋅⋅⋅∑ax=1n(∏j=1xajk)[gcd(a1,a2,...,an)=d]=∑d=1ndkx+1f(d)∑a1=1⌊n/d⌋∑a2=1⌊n/d⌋⋅⋅⋅∑ax=1⌊n/d⌋(∏j=1xajk)∑t∣a1,t∣a2,...,t∣anμ(t)=∑d=1ndkx+1f(d)∑

2020-08-06 17:32:05 1327 2

原创 2020杭电多校第二场 In Search of Gold 二分答案+树形dp (HDU 6769)

In Search of Gold题意NNN个点N−1N-1N−1条边的树,每条边有两个可能值ai,bia_i,b_iai​,bi​,已知有KKK条边的权值为其对应aia_iai​,其余的N−K+1N-K+1N−K+1条边的权值为对应的bib_ibi​,现在确定KKK条边使得树的直径最小时的答案题解树的直径为树上最长的路径,本题意在最小化最大值,通常这种问题都可以用二分答案解决现在考虑如何快速判断能否在确定答案ansansans时,恰好选KKK条边使得当前树的直径小于≤ans\leq ans≤an

2020-07-24 15:04:37 1361 1

原创 2020牛客多校第四场A题 Ancient Distance dfs序+线段树+k级祖先

Ancient Distance题意NNN个点以点111为根的树,在树上确定KKK个关键点,每个点的权值valvalval为点与点到根节点上碰到的第一个关键点的距离(若路径上没有关键点, 那么权值为inf⁡\infinf),答案为所有点中最大权值的最小值。现在求K=1,2,...,NK=1,2,...,NK=1,2,...,N的答案之和题解题意比较难理解,看看样例应该能懂如果确定KKK值,那么我们单次得到答案应该是可以用树形dp来解决的,总体的复杂度就是O(N2)O(N^2)O(N2)现在反过

2020-07-22 10:57:15 1210 2

原创 2020百度之星初赛1 Function 莫比乌斯反演 (HDU 6750)

Function题解明日更代码#include <bits/stdc++.h>using namespace std;typedef long long ll;const int MAX = 1e6 + 10;const int mod = 1e9 + 7;int vis[MAX], prime[MAX], num, mu[MAX], f[MAX];void makeMobius(int siz) { mu[1] = 1, num = 0; for (int

2020-07-19 23:55:45 459 10

原创 2020牛客多校第二场A题 All with Pairs Hash+KMP

All with Pairs题意记f(s,t)f(s,t)f(s,t)为最大的iii使得s1...i=t∣t∣−i+1...∣t∣s_{1...i} =t_{\left|t\right|-i+1...\left|t\right|}s1...i​=t∣t∣−i+1...∣t∣​给nnn个串s1,s2,...,sns_1,s_2,...,s_ns1​,s2​,...,sn​,求∑i=1n∑j=1nf(si,sj)2\displaystyle\sum_{i = 1} ^ n\displaystyle\sum

2020-07-16 16:51:28 170

原创 2020牛客多校第二场E题 Exclusive OR FWT

Quadratic Form题意X=(x1,x2,...,xn)TX=(x_1, x_2, ..., x_n)^TX=(x1​,x2​,...,xn​)T, AAA为n×nn×nn×n的正定二次型,bbb为n×1n×1n×1的列向量求满足求XTAX≤1X^TAX \leq 1XTAX≤1,(XTb)2\left(X^Tb\right)^2(XTb)2的最大的值题解带有不等式约束条件解极值问题, 使用拉格朗日乘子法设拉格朗日函数L(X,λ)=XTb+λ(XTAX−1)L\left(X, \lamb

2020-07-16 16:28:51 218

原创 2020牛客多校第一场D题 Quadratic Form 拉格朗日乘子

Quadratic Form题意X=(x1,x2,...,xn)TX=(x_1, x_2, ..., x_n)^TX=(x1​,x2​,...,xn​)T, AAA为n×nn×nn×n的正定二次型,bbb为n×1n×1n×1的列向量求满足求XTAX≤1X^TAX \leq 1XTAX≤1,(XTb)2\left(X^Tb\right)^2(XTb)2的最大的值题解带有不等式约束条件解极值问题, 使用拉格朗日乘子法设拉格朗日函数L(X,λ)=XTb+λ(XTAX−1)L\left(X, \lamb

2020-07-16 16:04:43 270

原创 2020牛客多校第一场B题 Infinite Tree 虚树

Infinite Tree题意一颗无限结点的树,任意大于111的点kkk与点kmindiv(k)\frac{k}{mindiv\left(k\right)}mindiv(k)k​相连,其中mindiv(k)mindiv\left(k\right)mindiv(k)为kkk的最小质因子记δ(u,v)\delta\left( u, v \right)δ(u,v)为树上u−vu-vu−v之间的距离,求min⁡u∑i=1mwiδ(u,i!)\min_u \displaystyle\sum_{i = 1} ^

2020-07-15 00:00:01 672 12

原创 AtCoder Beginner Contest 168题解

这里写目录标题A - ∴ (Therefore)代码B - ... (Triple Dots)代码C - : (Colon)代码D - .. (Double Dots)题意题解代码E - ∙ (Bullet)题意题解代码前三题比较水,直接上代码A - ∴ (Therefore)代码#include <bits/stdc++.h>using namespace std;int main() { int n; scanf("%d", &n); n = n % 1

2020-05-18 09:07:44 393

原创 虚树——学习笔记

在这里插入代码片

2020-04-28 23:18:52 206

原创 Kruskal重构树——学习笔记

P4197 Peaks Kruskal重构树上按dfs序建主席树查找第kkk大题目链接题意NNN座山峰,每座山峰有高度hih_ihi​,有些山峰间有双向道路相连,每条路有困难值。现在有QQQ组询问,每次询问从点vvv开始只经过困难值小于等于xxx的路径所能到达的山峰中第kkk高的山峰,若无解输出−1-1−1题解这里困难值就是路的边权,那么在一个图中,对于点uuu来说,在uuu到vvv...

2020-04-28 19:31:47 784

原创 莫比乌斯反演一些式子的推导(附题目)

前置内容1.a∣ba|ba∣b意为aaa整除bbb2.[a=b]={1,a=b0,a≠b[a=b]=\begin{cases} 1,a=b\\0,a ≠b \end{cases}[a=b]={1,a=b0,a​=b​3.⌊a⌋\lfloor a \rfloor⌊a⌋意为对aaa向下取整4.当n>k,n>dn>k,n>dn>k,n>d,有⌊⌊n/d⌋k⌋...

2020-04-10 16:40:14 689 2

原创 CF1326E Bombs 思维+线段树

CF1326E Bombs题意NNN个数的全排列ppp,现在将NNN个数依次加入集合AAA,如果这个位置iii上有炸弹,那么在加入这个数pip_ipi​后删除集合AAA中最大的数,当所有数加入集合后,集合中最大的数为当次花费现在给出NNN个数qiq_iqi​,对于每一个iii,求第q1,q2,...,qi−1q_1,q_2,...,q_{i-1}q1​,q2​,...,qi−1​个位置上是炸...

2020-03-22 22:55:57 323

原创 CF1290C Prefix Enlightenment 种类并查集

CF1290C Prefix Enlightenment题意给一串长度为NNN的010101串SSS,以及KKK个集合AiA_iAi​,每个集合有cic_ici​个元素,每个元素x∈[1,N]x∈[1, N]x∈[1,N]题目保证任意三个集合Ai∩Aj∩Ak=∅A_i ∩A_j ∩ A_k = ∅Ai​∩Aj​∩Ak​=∅,你可以选择一个集合,然后令SSS中集合AiA_iAi​元素下标的01...

2020-03-21 00:28:01 235

原创 CF1296F - Berland Beauty 树链剖分

CF1296F - Berland Beauty题意NNN个点N−1N-1N−1条边的树,现在有MMM个条件:点uuu到点vvv的路径上权值最小的边为www问你能不能构造出这样的边权满足所有条件,如果能输出每条边的边权,不能输出−1-1−1题解处理uuu到vvv的所有路径,这里用树剖即可然后想到一条边有多个可能的权值,我们只能取最大的可能权值,因为取小了会使其他条件不符所以将条件按w...

2020-03-16 13:38:18 171

原创 CF1324F - Maximum White Subtree 树形DP换根

CF1324F - Maximum White Subtree题意NNN个点N−1N-1N−1条边的树,每个点有对应的颜色cic_ici​,ci=1c_i=1ci​=1为白色whitewhitewhite,ci=0c_i=0ci​=0为黑色blackblackblack对于一个点iii,求包含点iii的子树中最大的cntw−cntbcnt_w-cnt_bcntw​−cntb​求出所有点的结...

2020-03-15 18:55:05 333

原创 CF1322C - Instant Noodles 思维

CF1322C - Instant Noodles题意给一个2N2N2N个点的二分图,左右两遍各NNN个点,现在给出右边每个点的权值viv_ivi​,以及MMM条连接左右两边的边。左边选取一个非空集合SSS,与之有边相连的右边的点N(S)N(S)N(S)权值求和为f(S)f(S)f(S),现在求所有可能的f(S)f(S)f(S)的gcdgcdgcd值题解记gcd=gcd(a,b)gcd=g...

2020-03-15 18:14:19 482

原创 CF1322B - Present 思维

CF1322B - Present题意NNN个数a1,a2,...,ana_1,a_2,...,a_na1​,a2​,...,an​,现在求(a1+a2)⊕(a1+a3)⊕⋅⋅⋅⊕(an−1+an)(a_1+a_2)⊕(a_1+a_3)⊕···⊕(a_{n-1}+a_n)(a1​+a2​)⊕(a1​+a3​)⊕⋅⋅⋅⊕(an−1​+an​),N≤400000N\leq400000N≤40000...

2020-03-14 22:35:52 223

原创 CF1303E - Erase Subsequences DP

CF1303E - Erase Subsequences题意两个字符串sss和ttt,问是否存在sss的两个没有交集的子串拼接成ttt串,即t=t1+t2t=t1+t2t=t1+t2,t1,t2t1,t2t1,t2可以是空串1≤∣t∣≤∣s∣≤4001\leq |t| \leq |s|\leq4001≤∣t∣≤∣s∣≤400题解看字符串长度,应该是O(N3)O(N^3)O(N3)最直接...

2020-03-13 23:15:59 140

原创 CF1304F1 - Animal Observation DP

CF1304F1 - Animal Observation(easy version)题意NNN天,MMM块区域,aija_{ij}aij​为第iii天第jjj块区域的权值,每一天可以覆盖当前天和下一天的长度为KKK的区域,求最大权值和N≤50,M≤20000,K≤min(M,20)N \leq 50,M\leq20000,K\leq min(M,20)N≤50,M≤20000,K≤min(...

2020-03-12 19:39:33 128

原创 CF1307E - Cow and Treats 思维

CF1307E - Cow and Treats题意NNN颗草,每颗草有甜度sis_isi​,MMM头牛,每头牛有最喜欢的甜度fif_ifi​和饥饿度hih_ihi​将牛分出不相交的两个子集,一个在草的左边,一个在草的右边两遍的牛轮流去吃草(左边的牛从左往右吃,右边的从右往左吃),每头牛只会吃最喜欢的甜度fif_ifi​的草,直到吃了hih_ihi​份的草,牛吃了的草不会再长出来此时牛会...

2020-03-08 23:13:56 279

原创 CF1310D - Tourism 随机+DP

CF1310D - Tourism题意NNN个点的图,给你图的邻接矩阵ggg,求从点111出发经过KKK条边途径偶数个城市回到点111的最短距离2≤N≤80,2≤K≤102\leq N \leq 80, 2\leq K \leq 102≤N≤80,2≤K≤10题解路径是一个环,并且是一个偶数环二分图的充要条件就是不存在奇数环所以我们可以把图染色成一个二分图,在二分图上跑dp就行但是...

2020-03-08 19:13:33 267

原创 CF1311E - Construct the Binary Tree 构造

CF1311E - Construct the Binary Tree题意构造NNN个点,所有点深度之和为DDD的二叉树题解考虑以下两种情况①NNN个点深度之和最小这种就是每一层都是满的,这个等等算②NNN个点深度之和最大链状,NNN个点组成直线,深度之和为N∗(N−1)/2N*(N-1)/2N∗(N−1)/2那么我们现在要构造一颗深度之和为DDD的二叉树那么这个深度min≤D...

2020-03-07 20:35:27 290

原创 CF1311F - Moving Points 树状数组

1311F - Moving Points题意NNN个点,全部都在XXX轴上,每一个点有给出起始点xix_ixi​和速度viv_ivi​,如果现在过去时间为ttt,那么这个点就在xi+tvix_i+tv_ixi​+tvi​,这里时间是无穷无尽的现在有d(i,j)d(i,j)d(i,j)表示点iii和点jjj在所有时间内最小的距离求所有点对的d(i,j)d(i,j)d(i,j)之和,即∑1≤...

2020-03-07 20:12:50 175

原创 CF1316D - Nash Matrix 构造

CF1316D - Nash Matrix题意N∗NN*NN∗N的矩阵中,有L,R,D,U,XL,R,D,U,XL,R,D,U,X四种格子,分别代表,左移、右移、下移、上移、障碍点对于任意一个出发点(i,j)(i,j)(i,j),会沿着格子的指示来移动,直到碰到障碍点每一个点(i,j)(i,j)(i,j)出发都会有对应的终点(x,y)(x,y)(x,y),如果是无线循环(一直走不会停),那...

2020-03-07 19:26:06 210

原创 CF1320C - World of Darkraft: Battle for Azathoth 思维+线段树

CF1320C - World of Darkraft: Battle for Azathoth题意NNN个武器,MMM个防具,KKK个怪兽每一个武器都有对应的攻击力aia_iai​,还有购买它的金币数caica_icai​每一个防具都有对应的防御力bib_ibi​,还有购买它的金币数cbicb_icbi​每一个怪兽都有对应的攻击力xix_ixi​,防御力yiy_iyi​,打败他获得的金...

2020-03-05 22:17:18 348

原创 CF1316E - Team Building 状态压缩+DP

CF1316E - Team Building题意NNN个人,一个队伍中有KKK个位置,aia_iai​为第iii人作为观众的权值si,js_{i,j}si,j​为第iii人作为担任队伍的第jjj个位置的权值现在选出PPP个队员和KKK个观众,使得权值之和最大(2≤N≤105,1≤P≤7,1≤K,P+K≤N)(2≤N≤10^5,1≤P≤7,1≤K,P+K≤N)(2≤N≤105,1≤P≤...

2020-03-05 21:32:06 144

原创 CF208E - Blood Cousins 树上启发式合并

CF208E - Blood Cousins树上启发式合并学习笔记题意NNN个点的森林,MMM次询问,每次求viv_ivi​有多少个点有pip_ipi​级公共祖先分析转化题意:找到询问点vvv的kkk级祖先uuu,然后找到uuu的子树下面与点uuu深度差为kkk的点有多少那么维护的子树信息就是,cnt[i]cnt[i]cnt[i]为深度为iii的节点个数然后我们查询问答案就是cnt[...

2020-03-01 15:06:02 206

原创 Sgu507 - Treediff 树上启发式合并

Sgu507 - Treediff树上启发式合并学习笔记题意NNN个点以1为根的树,其中MMM个点为叶节点,只有叶节点有权值aia_iai​现在求每一个非叶节点的子树中,任意两个叶节点的权值差的绝对值最小是多少(如果不存在输出231−12^{31}-1231−1分析我们需要维护的信息是,子树中每一个叶节点的权值当我们新加入一个叶节点的值valvalval的时候,我们只需要找小于val...

2020-03-01 14:37:39 601

原创 树上启发式合并——学习笔记

600E - Lomsat gelral

2020-03-01 14:27:04 346

原创 HackerEarth - The Grass Type 树上启发式合并

HackerEarth - The Grass Type题意NNN个点以111为根的树,每个节点有一个权值AiA_iAi​,现在查询有多少个点对(u,v)(u,v)(u,v),使得Alca(u,v)=Au∗AvA_{lca(u,v)}=A_u * A_vAlca(u,v)​=Au​∗Av​,其中lca(u,v)lca(u,v)lca(u,v)为点uuu和点vvv的最近公共祖先分析这里的lc...

2020-03-01 14:14:30 219

原创 CF570D - Tree Requests 树上启发式合并

CF570D - Tree Requests题意NNN个点以111为根的树,每个节点都有对应的字母s[i]s[i]s[i],MMM次查询,每次判断以uiu_iui​为根的子树中,深度为hih_ihi​的节点能否组成一个回文串(字母顺序可以任意改变),如果能输出Yes,否则输出No分析树上启发式合并入门题,查询的子树信息就是对应高度都有什么字母因为这里节点的顺序能够改变,所以构成回文串只需...

2020-03-01 13:23:39 289

原创 点分治——学习笔记

题目特征点分治用于解决树上不带修改的路径问题(静态问题)点分治记rootrootroot为当前的树根,则对于所有路径来说,有两种情况:①经过rootrootroot的路径②不经过rootrootroot的路径对于①类路径来说,可以看做从rootrootroot前往不同子树的两条路径之和(下面介绍的和都是指两点间距离)对此处路径(4,7)(4, 7)(4,7)来说,可以看做是路径(4...

2020-02-24 14:53:11 229 1

原创 线段树分治——学习笔记

题目的一些特征和思路给你若干操作,每一个操作的作用时间范围为[l,r][l, r][l,r],然后让你求每一个时刻下 (题目要求) 的结果或是没有说明操作时间,我们以操作个数为时间,当某些操作完全相同,则可以合并。如第1,2,31,2,31,2,3个操作一样的,那么我们可以在[1,3][1, 3][1,3]的时间上都做相同的修改,而不必分别在[1,1][1,1][1,1],[2,2][2,2...

2020-02-20 00:53:59 287

原创 数位DP——学习笔记

题目特征数位DP题目一般都是求[l,r][l,r][l,r]间满足某种情况的数有几个, 一般l,rl,rl,r都比较大或者直接就是算[1,N][1,N][1,N]的题目解法数位DP虽然是DP,但是大部分题都能用一个相同的方法来解决虽然很多题目能用递推写,但是递推难度较记忆化搜索较高,因此最好选用记忆化搜索来写题模板ll dfs(int pos, ... , bool lead, bo...

2020-02-16 00:19:34 148

空空如也

空空如也

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

TA关注的人

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