摘要:
测试地址:雨天的尾巴 题目大意:一棵树,对其执行若干次操作,每次选定一条路径和一种型号的货物,然后给这条路径上所有的点派发一份选定型号的货物,最后求每个点获得的最多的货物的型号。 做法:本题需要用到线段树合并+树上差分。 首先,对一条路径派发货物,我们可以用... 阅读全文
摘要:
测试地址:Subtree Minimum Query 题目大意:给定一棵有根树,每个节点有一个权值,现在有若干个询问,每个询问给出x,k" role="presentation" style="position: relative;">x,kx,k,表示询问... 阅读全文
摘要:
测试地址:Tree Rotations 做法:本题需要用到平衡树启发式合并。 对于叶子节点,最优答案显然是0" role="presentation" style="position: relative;">00。然后对于每棵子树,我们发现由转换它的左右子树... 阅读全文
摘要:
测试地址:永无乡 做法:本题需要用到平衡树启发式合并。 题目要维护每个连通块的第k" role="presentation" style="position: relative;">kk大,并且要支持合并。维护第k" role="presentation" ... 阅读全文
摘要:
测试地址:万径人踪灭 做法:本题需要用到FFT+Manacher。 这道题要求不连续的回文子序列数量,显然这个数量等于所有回文子序列数量减去连续的回文子序列数量,后面的部分很显然可以用Manacher算法求出,那么现在的问题就是要求出所有回文子序列数量。 对... 阅读全文
摘要:
测试地址:品酒大会 做法:本题需要用到后缀数组+并查集。 不难想到,对题目所给的字符串构造后缀数组,那么后缀数组上两个后缀之间最小的height" role="presentation" style="position: relative;">heighth... 阅读全文
摘要:
测试地址:世界树 做法:本题需要用到虚树+树形DP。 首先一看这道题我们就知道要用虚树,因此我们先把询问点的虚树先建出来,然后考虑DP。 我们把虚树中每个点受哪个点管辖先求出来,这是通过两次DFS来完成的,一次处理向下方向的最近,一次处理向上方向的最近。然后... 阅读全文
摘要:
测试地址:消耗战 做法:本题需要用到虚树+树形DP。 这题如果只有一个询问,相信大家都会做了,比较裸的树形DP。但是询问次数很大,每次询问都O(n)" role="presentation" style="position: relative;">O(n)O... 阅读全文