博客园 - 祈梦生
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=123056
2022-10-31T06:51:48Z
祈梦生
https://www.cnblogs.com/sainsist/
feed.cnblogs.com
https://www.cnblogs.com/sainsist/p/12594238.html
[牛客练习赛60E]旗鼓相当的对手 - 祈梦生
题目链接 **题意**对一颗$n$个节点的点权树,对于每个距离为k的点对$(u,v)$,如果$LCA(u,v)!=u\&\&LCA(u,v)!=v$则节点$LCA(u,v)$会获得$a_{u}+a_{v}$的贡献。需要求出每个节点的贡献。 设$d[i]$为i节点的深度。可以想到对于子树$x$中某个节
2020-03-29T11:31:00Z
2020-03-29T11:31:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 **题意**对一颗$n$个节点的点权树,对于每个距离为k的点对$(u,v)$,如果$LCA(u,v)!=u\&\&LCA(u,v)!=v$则节点$LCA(u,v)$会获得$a_{u}+a_{v}$的贡献。需要求出每个节点的贡献。 设$d[i]$为i节点的深度。可以想到对于子树$x$中某个节 <a href="https://www.cnblogs.com/sainsist/p/12594238.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/12574329.html
[牛客每日一题3月26日][NC13230]合并回文子串 - 祈梦生
题目链接 根据题目大致分析组成C的回文子串一定是由A中的子串和B中的子串组成的,而复杂度是允许我们枚举子串的。 所以可以想到区间$dp$,$dp[i][ii][j][j]$表示字符串$A[i,ii]$,和字符串$B[j,jj]$能否构成回文串。 如果$A[i]==A[ii]\&\&dp[i-1][i
2020-03-26T06:35:00Z
2020-03-26T06:35:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 根据题目大致分析组成C的回文子串一定是由A中的子串和B中的子串组成的,而复杂度是允许我们枚举子串的。 所以可以想到区间$dp$,$dp[i][ii][j][j]$表示字符串$A[i,ii]$,和字符串$B[j,jj]$能否构成回文串。 如果$A[i]==A[ii]\&\&dp[i-1][i <a href="https://www.cnblogs.com/sainsist/p/12574329.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/12322569.html
又臭又长的莫比乌斯总结 - 祈梦生
断断续续学习了好久的莫比乌斯反演,因为涉及到许多数论知识,所以想写一篇总结,统合一下相关知识点。 部分内容选自oi-wiki 前置知识 积性函数 定义 若$gcd(x,y)=1$,并且$f(x*y)=f(x)*f(y)$,则函数$f(x)$为积性函数。 举例 常函数:$I(n)=1$ 单位函数:$\
2020-02-18T06:23:00Z
2020-02-18T06:23:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】断断续续学习了好久的莫比乌斯反演,因为涉及到许多数论知识,所以想写一篇总结,统合一下相关知识点。 部分内容选自oi-wiki 前置知识 积性函数 定义 若$gcd(x,y)=1$,并且$f(x*y)=f(x)*f(y)$,则函数$f(x)$为积性函数。 举例 常函数:$I(n)=1$ 单位函数:$\ <a href="https://www.cnblogs.com/sainsist/p/12322569.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11801192.html
[bzoj2286][Sdoi2011]消耗战 - 祈梦生
题目链接 如果对于每个询问跑一次$dp$,那么$dp[i]$为断开$i$这棵子树的最小花费。 这样的复杂度为$O(n*m)$,过于臃肿。 所以我们要对于每次询问降低这次询问的复杂度。 我们可以发现$m$个关键点,最多有$m-1$个$lca$。 简单证明一下,如果有两个点,会有$1$个$lca$点,如
2019-11-05T12:01:00Z
2019-11-05T12:01:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 如果对于每个询问跑一次$dp$,那么$dp[i]$为断开$i$这棵子树的最小花费。 这样的复杂度为$O(n*m)$,过于臃肿。 所以我们要对于每次询问降低这次询问的复杂度。 我们可以发现$m$个关键点,最多有$m-1$个$lca$。 简单证明一下,如果有两个点,会有$1$个$lca$点,如 <a href="https://www.cnblogs.com/sainsist/p/11801192.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11800804.html
2019ICPC徐州游记 - 祈梦生
裂开 热身赛听隔壁电科的猛男们说赛前别做题,结果我们3个憨憨还是跑到网吧打哈尔滨的重现赛。结果真的炸裂了,队友D被E题卡哭了,我和队友Z被I题搞炸。 回宾馆的路上都害怕明天裂开。 果然想什么坏事,什么坏事就来。 第二天开局小崩,签到题F猜了发结论就A了,然后A题我告诉队友D假题意结果他竟然理解成真题
2019-11-05T10:56:00Z
2019-11-05T10:56:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】裂开 热身赛听隔壁电科的猛男们说赛前别做题,结果我们3个憨憨还是跑到网吧打哈尔滨的重现赛。结果真的炸裂了,队友D被E题卡哭了,我和队友Z被I题搞炸。 回宾馆的路上都害怕明天裂开。 果然想什么坏事,什么坏事就来。 第二天开局小崩,签到题F猜了发结论就A了,然后A题我告诉队友D假题意结果他竟然理解成真题 <a href="https://www.cnblogs.com/sainsist/p/11800804.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11800486.html
[bzoj2037][Sdoi2008]Sue的小球 - 祈梦生
题目链接 算是一道比较明显的区间$dp$,但是状态不同往常。 $dp[0/1][i][j]$为拿完第$i$个和第$j$个范围内的所有球后停在左边/右边的最小亏损。 $dp[0][i][j] = min(dp[0][i][j], min(dp[0][i + 1][j] +亏损, dp[1][i + 1
2019-11-05T10:39:00Z
2019-11-05T10:39:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 算是一道比较明显的区间$dp$,但是状态不同往常。 $dp[0/1][i][j]$为拿完第$i$个和第$j$个范围内的所有球后停在左边/右边的最小亏损。 $dp[0][i][j] = min(dp[0][i][j], min(dp[0][i + 1][j] +亏损, dp[1][i + 1 <a href="https://www.cnblogs.com/sainsist/p/11800486.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11725678.html
2019CCPC厦门游记 - 祈梦生
距离上次2018CCPC吉林打铁一年有余,这次的厦门也是我们team拿到的第一块区域赛牌子,写一篇博客留念一下QAQ。 作为弱校的菜鸡队,我们提前两天就来到厦门,不得不说刚到厦门的两天还是很快乐的,住宿的地方三人间没有了,老板大度的换成了一人间+标间,开心; $day1$ 跑到鼓浪屿玩,和两个憨憨的
2019-10-23T07:36:00Z
2019-10-23T07:36:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】距离上次2018CCPC吉林打铁一年有余,这次的厦门也是我们team拿到的第一块区域赛牌子,写一篇博客留念一下QAQ。 作为弱校的菜鸡队,我们提前两天就来到厦门,不得不说刚到厦门的两天还是很快乐的,住宿的地方三人间没有了,老板大度的换成了一人间+标间,开心; $day1$ 跑到鼓浪屿玩,和两个憨憨的 <a href="https://www.cnblogs.com/sainsist/p/11725678.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11679779.html
[codeforces940E]Cashback - 祈梦生
题目链接 题意是说将$n$个数字分段使得每段贡献之和最小,每段的贡献为区间和减去前$\left \lfloor \frac{k}{c}\right \rfloor$小的和。 仔细分析一下可以知道,减去$2$个可以分成减去$2$次$1$个,所以就可以设一个$dp:$$dp[i]$为$1-i$位的最小和
2019-10-15T11:28:00Z
2019-10-15T11:28:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 题意是说将$n$个数字分段使得每段贡献之和最小,每段的贡献为区间和减去前$\left \lfloor \frac{k}{c}\right \rfloor$小的和。 仔细分析一下可以知道,减去$2$个可以分成减去$2$次$1$个,所以就可以设一个$dp:$$dp[i]$为$1-i$位的最小和 <a href="https://www.cnblogs.com/sainsist/p/11679779.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11670966.html
[codeforces#592Div2]C-G题 - 祈梦生
题目链接 感觉这场难度迷茫,个人觉得难度排序为$A<B<D=E=G<C<F$ C题: 比赛结束1500+pp,结果出分900+fst,我就是fst的睿智Orz。 题意为给出$n,p,w,d$,求满足下列式子的任意$x,y,z$ $x*w+y*d=p\&\& x+y+z=n\&\&x\geq 0\&\
2019-10-14T05:05:00Z
2019-10-14T05:05:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 感觉这场难度迷茫,个人觉得难度排序为$A<B<D=E=G<C<F$ C题: 比赛结束1500+pp,结果出分900+fst,我就是fst的睿智Orz。 题意为给出$n,p,w,d$,求满足下列式子的任意$x,y,z$ $x*w+y*d=p\&\& x+y+z=n\&\&x\geq 0\&\ <a href="https://www.cnblogs.com/sainsist/p/11670966.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11622922.html
[codeforces1234F]Yet Another Substring Reverse - 祈梦生
题目链接 大致题意为将某个子串进行翻转后,使得不包含相同字符的字符子串长度最长。只能翻转一次或零次。 设一个子串的状态为包含字符的二进制。如子串为$abacd$,则状态为$00000000000000001111$。 根据分析可以得到,一个子串和另一个子串如果没有交集,则两个串可以经过一次翻转合并在
2019-10-04T11:27:00Z
2019-10-04T11:27:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 大致题意为将某个子串进行翻转后,使得不包含相同字符的字符子串长度最长。只能翻转一次或零次。 设一个子串的状态为包含字符的二进制。如子串为$abacd$,则状态为$00000000000000001111$。 根据分析可以得到,一个子串和另一个子串如果没有交集,则两个串可以经过一次翻转合并在 <a href="https://www.cnblogs.com/sainsist/p/11622922.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11622860.html
[gym101981D][2018ICPC南京D题]Country Meow - 祈梦生
题目链接 题目大意是求三维空间可以包含$n$个点的最小圆半径。 如果有做过洛谷P1337就会发现这到题很模拟退火,所以就瞎搞一发。 $PS:$注意本题时限$3$秒。
2019-10-04T10:58:00Z
2019-10-04T10:58:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 题目大意是求三维空间可以包含$n$个点的最小圆半径。 如果有做过洛谷P1337就会发现这到题很模拟退火,所以就瞎搞一发。 $PS:$注意本题时限$3$秒。 <a href="https://www.cnblogs.com/sainsist/p/11622860.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11622825.html
[gym101981M][2018ICPC南京M题]Mediocre String Problem - 祈梦生
题目链接 题目大意是问在$S$串中找区间$[i,j]$,在$T$串中找位置$k$,使得$S[i,j]$和$T[1,k]$可以组成回文串,并且$j-i+1>k$,求这样的三元组$(i,j,k)$的个数。 一开始有点懵,但是仔细一想,因为$j-i+1>k$,所以$S[i,j]$中一定包含了回文串后半段的
2019-10-04T10:42:00Z
2019-10-04T10:42:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 题目大意是问在$S$串中找区间$[i,j]$,在$T$串中找位置$k$,使得$S[i,j]$和$T[1,k]$可以组成回文串,并且$j-i+1>k$,求这样的三元组$(i,j,k)$的个数。 一开始有点懵,但是仔细一想,因为$j-i+1>k$,所以$S[i,j]$中一定包含了回文串后半段的 <a href="https://www.cnblogs.com/sainsist/p/11622825.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11579369.html
[洛谷P4183][USACO18JAN]Cow at Large P - 祈梦生
题目链接 在暴力的角度来说,如果我们$O(n)$枚举根节点,有没有办法在$O(n)$的时间内找到答案呢? 此时如果用树形$dp$的想法,发现是可做的,因为可以推得以下的结论: 设$x$为根节点,$d[i]$为$i$节点到$x$的距离(即深度),$g[i]$为$i$节点到最近的出入口(即叶子节点)的距
2019-09-24T09:03:00Z
2019-09-24T09:03:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 在暴力的角度来说,如果我们$O(n)$枚举根节点,有没有办法在$O(n)$的时间内找到答案呢? 此时如果用树形$dp$的想法,发现是可做的,因为可以推得以下的结论: 设$x$为根节点,$d[i]$为$i$节点到$x$的距离(即深度),$g[i]$为$i$节点到最近的出入口(即叶子节点)的距 <a href="https://www.cnblogs.com/sainsist/p/11579369.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11563980.html
[Bzoj1597][Usaco2008 Mar]土地购买(斜率优化) - 祈梦生
题目链接 因为题目说可以分组,并且是求最值,所以斜率优化应该是可以搞的,现在要想怎么排序使得相邻的数在一个组中最优。 我们按照宽$w$从小到大,高$h$从小到大排序。这时发现可以筛掉一些一定没有贡献的土地,什么样的土地没有贡献呢?这样的:$h[i]<=h[j]\& \&w[i]<=w[j]$,此时i
2019-09-21T09:58:00Z
2019-09-21T09:58:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 因为题目说可以分组,并且是求最值,所以斜率优化应该是可以搞的,现在要想怎么排序使得相邻的数在一个组中最优。 我们按照宽$w$从小到大,高$h$从小到大排序。这时发现可以筛掉一些一定没有贡献的土地,什么样的土地没有贡献呢?这样的:$h[i]<=h[j]\& \&w[i]<=w[j]$,此时i <a href="https://www.cnblogs.com/sainsist/p/11563980.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11557047.html
[AtCoder Beginner Contest 133]F - Colorful Tree - 祈梦生
题目链接 写完题去网上逛一圈发现全都是离线LCA,Orz。 大致题意是一颗树上边有边权和颜色,每次询问会先把颜色为x的边的边权变为y,再询问u到v的边权和。注意,每次询问的修改只针对当前询问。 由于题目是树上距离,所以树剖大致是可以做的。 树剖完后将每条边的边权转点权,赋给深度较高的节点。 每次查询
2019-09-20T06:43:00Z
2019-09-20T06:43:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 写完题去网上逛一圈发现全都是离线LCA,Orz。 大致题意是一颗树上边有边权和颜色,每次询问会先把颜色为x的边的边权变为y,再询问u到v的边权和。注意,每次询问的修改只针对当前询问。 由于题目是树上距离,所以树剖大致是可以做的。 树剖完后将每条边的边权转点权,赋给深度较高的节点。 每次查询 <a href="https://www.cnblogs.com/sainsist/p/11557047.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11551539.html
[Bzoj2120]数颜色 - 祈梦生
题目链接 如果没有这个修改操作,那么就可以主席树/树状数组乱搞,可以没有如果QAQ。 所以选择莫队来乱搞这个修改操作。
2019-09-19T10:10:00Z
2019-09-19T10:10:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 如果没有这个修改操作,那么就可以主席树/树状数组乱搞,可以没有如果QAQ。 所以选择莫队来乱搞这个修改操作。 <a href="https://www.cnblogs.com/sainsist/p/11551539.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11551251.html
[Bzoj2049][Sdoi2008]Cave 洞穴勘测 - 祈梦生
题目链接 一道思路蛮清晰的题,题目有连边,删边,判断两点是否联通三个操作,因为题目中提到了“任意时刻任意两个洞穴之间至多只有一条路径”这一句话。所以在任意时刻,这些联通块都是树形的。所以不是很像splay森林LCT吗。 所以就是LCT板子了......
2019-09-19T09:30:00Z
2019-09-19T09:30:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 一道思路蛮清晰的题,题目有连边,删边,判断两点是否联通三个操作,因为题目中提到了“任意时刻任意两个洞穴之间至多只有一条路径”这一句话。所以在任意时刻,这些联通块都是树形的。所以不是很像splay森林LCT吗。 所以就是LCT板子了...... <a href="https://www.cnblogs.com/sainsist/p/11551251.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11525638.html
[2019上海网络赛F题]Rhyme scheme - 祈梦生
题目链接 题意,求出合法的长度为n的字典序第k小字符串,合法的定义为除了最后一位,每一位的取值范围为'A'到'A'+pos-1,而最后一位的取值范围'A'到当前字符串最大值+1。 队友tql,Orz 一开始就想爆搜,但是不知道如何判断当前位为X时的合法字符串个数。然后队友就莽过去了Orz。 大致做法
2019-09-16T01:33:00Z
2019-09-16T01:33:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 题意,求出合法的长度为n的字典序第k小字符串,合法的定义为除了最后一位,每一位的取值范围为'A'到'A'+pos-1,而最后一位的取值范围'A'到当前字符串最大值+1。 队友tql,Orz 一开始就想爆搜,但是不知道如何判断当前位为X时的合法字符串个数。然后队友就莽过去了Orz。 大致做法 <a href="https://www.cnblogs.com/sainsist/p/11525638.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11524215.html
[2019上海网络赛J题]Stone game - 祈梦生
题目链接 CSLnb! 题意是求出给定集合中有多少个合法子集,合法子集的定义为,子集和>=总和-子集和$\& \&$子集和-(子集的子集和)<=总和-子集和。 其实就是很简单的dp,先将集合从大到小排序,dp[i][j]表示以a[i]为子集的最小值时,子集和为j的方案数。因为排序后保证遍历到的a[i
2019-09-15T13:00:00Z
2019-09-15T13:00:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 CSLnb! 题意是求出给定集合中有多少个合法子集,合法子集的定义为,子集和>=总和-子集和$\& \&$子集和-(子集的子集和)<=总和-子集和。 其实就是很简单的dp,先将集合从大到小排序,dp[i][j]表示以a[i]为子集的最小值时,子集和为j的方案数。因为排序后保证遍历到的a[i <a href="https://www.cnblogs.com/sainsist/p/11524215.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/sainsist/p/11520254.html
[2019沈阳网络赛D题]Dawn-K's water(点分治) - 祈梦生
题目链接 题意为求出树上任意点对的距离对3取余的和。 比赛上听到题意就知道是点分治了,但是越写越不对劲,交之前就觉得会T,果不其然T了。修修改改结果队友写了发dp直接就过了Orz。 赛后想了想维护的东西太脑残了,以为像洛谷板子题一样暴力维护就可以,实则被卡死。 赛后的想法是维护距离当前重心的距离对3
2019-09-14T13:05:00Z
2019-09-14T13:05:00Z
祈梦生
https://www.cnblogs.com/sainsist/
【摘要】题目链接 题意为求出树上任意点对的距离对3取余的和。 比赛上听到题意就知道是点分治了,但是越写越不对劲,交之前就觉得会T,果不其然T了。修修改改结果队友写了发dp直接就过了Orz。 赛后想了想维护的东西太脑残了,以为像洛谷板子题一样暴力维护就可以,实则被卡死。 赛后的想法是维护距离当前重心的距离对3 <a href="https://www.cnblogs.com/sainsist/p/11520254.html" target="_blank">阅读全文</a>