"「十二省联考 2019」字符串问题" 当场就去世了,我这菜人改了一下午 考虑一个A,B之间的连边实际表示了两个A之间的有向边,然后把A的连边处理好,就转成了拓扑排序找环+最长链 但是边数很多,考虑优化连边 A,B之间的连边显然没法优化的,考虑一个B可以表示所有它的后缀A 把串反向建出SAM,然后一 ...
分类:
其他好文 时间:
2019-04-09 18:37:55
阅读次数:
146
A:求出该行该列各有多少个比其小的取max,该行该列各有多少个比其大的取max,加起来即可。 B:kmp求出最长border,贪心的每次利用这个border制造新子串即可。 C:场上写了1h假题意。终于看懂题之后又被之前假题意的做法带偏了。考虑拆点,建出新图后缩点,跑最长链即为答案。因为由图的特殊性 ...
分类:
其他好文 时间:
2019-03-09 01:27:14
阅读次数:
244
CF1101D GCD Counting 又被trick了 不用什么点分治 直接树形dp即可 开始的想法: f[x][j]x为根的子树gcd至少为j(j是x的一个约数)的最长链 然后对y合并。类似于树的直径 但是复杂度还是很大的。。。 这个题的关键是:我们只关心gcd是不是1,并不关心gcd是什么! ...
分类:
其他好文 时间:
2019-01-17 21:23:53
阅读次数:
153
CF EDU 1101D GCD Counting 题意 有一颗树,每个节点有一个值,问树上最长链的长度,要求链上的每个节点的GCD值大于1。 思路 由于每个数的质因子很少,题目的数据200000<2*3*5*7*11*13*17=510510。所以每个节点的质因子个数不多。那么树形DP的时候直接枚 ...
分类:
其他好文 时间:
2019-01-13 18:08:37
阅读次数:
198
一道模拟赛题 简要题意: 树,单点修改,求直径,求必须选$x$的最长链,卡空间。 分析: 我们先把必须选的那个丢掉,发现他实际上是单点修改$inf$然后查树的直径。 如果不卡空间的话我们可以用点分树来搞一搞,不过由于一次修改会影响到很多点不能用堆来维护只能用支持区间修改的线段树,这样空间就开不下了。 ...
分类:
其他好文 时间:
2018-12-24 00:17:31
阅读次数:
158
D. Maximum Diameter Graph time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output D. Maximum Dia ...
分类:
其他好文 时间:
2018-11-30 22:42:56
阅读次数:
368
题目大意:给定一棵 N 个节点的树,求从 1 号节点(根节点)出发,任意节点结束,且至少经过每个节点一次的最短路径是多少。 题解:首先考虑最终要回到根节点的情况,可以发现最短路径长度一定等于该树边权的 2 倍。因此,在任意一点结束只需在答案贡献中减掉该树的一条最长链即可。 代码如下 cpp incl ...
分类:
其他好文 时间:
2018-11-30 18:28:47
阅读次数:
152
传送门 树形dp基础题 求带点权树直径 然后这个点权就是每个点的点度(son[])... 所以可以简化一下 按照正常的套路维护从根开始的最长链和次长链 dp数组存的时候+1改成+son[x]-1就可以了 所以dp[x] = maxx + maxxx + son[x] - 1 (maxx 和 maxx ...
分类:
其他好文 时间:
2018-11-03 17:34:52
阅读次数:
153
原题链接 : "P2680 运输计划" 分析 题意很简单,给定一张连通图,n个点,n 1条边,很显然是一棵树。 现在给定m条链$(u,v)$。 现在可以cut掉一条边(边权置为0)。 现在求最长链的最小值。 55pts 蒟蒻的我肯定是拿不到满分的。。我们直接考虑部分分。 对于m=1的点,我们只需要枚 ...
分类:
其他好文 时间:
2018-10-28 13:40:48
阅读次数:
207
Solution 另外$ m <=5e5$。 两条最短路的 最长公共路径 一定是若干条连续的边, 并且满足拓扑序。 于是我们分别 正向 和反向走第二条路径,若该条边同时是两条最短路径上的边, 则加入边集。 最后拓扑 求最长链即可 Code 1 #include<cstring> 2 #include ...
分类:
编程语言 时间:
2018-10-16 16:01:21
阅读次数:
189