随笔分类 - IOI
摘要:点分治 采用分治思想。对树上路径问题进行查询时,把路径分成两部分,一部分是经过根节点的路径,一部分是不经过根节点的路径。 而在处理不经过根节点的路径时,可以才有分治思想,递归到左右子树进行求解。 这样复杂度是 的,但是若我们每次选取的根节点都是要求解的子树的重心,则复杂度可以优
阅读全文
摘要:传送门 解题思路 简要来说就是求每一个基环树的直径的和。 想起来很好想,就是把环上每个节点挂的子树的深度的信息挂到环上的节点上,然后断环为链,找一段最大的区间使得dep[a]+dep[b]+dis[a,b] 最大,dis[a,b] 又可以用前缀和预处理成 dis[b]-dis[a],于是式子变成了d
阅读全文
摘要:传送门 解题思路 很显然,把这个字符串倒过来,再与原来的做一个lcs即可。 最后用长度-lcs长度就是答案。 AC代码 1 #include<iostream> 2 #include<cstring> 3 using namespace std; 4 int n,dp[1005][1005]; 5
阅读全文