![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
虚树
fyc_kabuto
一个蒟蒻程序员
展开
-
bzoj 2286: [Sdoi2011]消耗战
题目大意,切掉若干条边,使根不能到指定的点,代价最小,多次询问。 这篇东西不错:点击打开链接 虚树的模板题,注意卡时,在建虚树前先将一条链的点删剩一个,每个点记录到根最短的边边权。 貌似数据有误?反正我开了long long 记录边权就A了。 LCA模板一定不能错啊啊啊啊! code: #include #include #include #include #include #defi原创 2017-07-14 16:16:43 · 247 阅读 · 0 评论 -
bzoj 3879: SvT
题目大意:求若干个后缀两两减的LCP之和。后缀总和不大于3*10^6; 后缀自动机加虚树。 看这种询问有多,总点不太多的又在一棵树上可以考虑虚树。 把原串反过来,等于求前缀的最长公共后缀。 首先有个显然的性质是两个前缀的LCS是它们在parent树上的lca的max。如果不了解的可以先做这题:点击打开链接 见虚树后,跟bzoj3238一样,在树上统计答案就行了。 ans要除二,因为两两原创 2017-07-15 11:11:06 · 308 阅读 · 0 评论 -
Codeforces 613D Kingdom and its Cities
题意: 给出一棵树,每次询问会给出几个关键点,要求选最少的非关键点使得把选的点去掉后关键点之间两两不能到达。 n≤100000n≤100000n≤100000 题解: 虚树模版。 dp的话就是设f[x][0]f[x][0]f[x][0]表示子树内关键点两两不连通,且没有点可以连到子树外,f[x][1]f[x][1]f[x][1]表示允许有点连到子树外。转移注意细节。 code: ...原创 2018-04-24 19:32:43 · 231 阅读 · 0 评论