虚树 [SDOI2011]消耗战 板题,基本上是对着网上的板子敲的 #include <bits/stdc++.h> using namespace std; inline int read() { int out = 0; register char cc = getchar(); while ( ...
分类:
其他好文 时间:
2021-03-01 12:59:52
阅读次数:
0
Description 在一场战争中,战场由 $n$ 个岛屿和 $n-1$ 个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为 $1$ 的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他 $k$ 个岛屿上有丰富能源,为了防止敌军获取能源,我军 ...
分类:
其他好文 时间:
2021-02-17 14:22:52
阅读次数:
0
虚树对于多次询问的时候有这优化复杂度的好处,其原理就是只保留有用节点和必须保留的有用节点的lca 先求一遍dfs序后,用栈模拟操作,根据lca是否在栈中确定是否要将lca加入栈,因为重构了树,因此原来的边的信息需要进行更换 对于本题,新的边其实就是路径上的边权的最小值,这是因为随便切掉一个边就能把他 ...
分类:
其他好文 时间:
2020-07-22 16:20:10
阅读次数:
75
虚树+DP 每个点记录自己到根路径上的最小边权 $mn[u]$ ;DP时初始化 $ans[u]=\sum\limits_{v\in son_u} ans[v]$ ,如果是关键点则 $u$ 的答案 $ans[u]=mn[u]$ ,若不是关键点则 $ans[u]=\min(ans[u],mn[u])$ ...
分类:
其他好文 时间:
2020-01-18 10:45:44
阅读次数:
66
Game theory Nim SG function Graph theory SPFA Dijkstra MST (Kruskal) Virtual tree 例: "[SDOI2011]消耗战" Tree plus cycle (contaning multiple edges) Heavy ...
分类:
其他好文 时间:
2019-10-12 22:26:29
阅读次数:
95
问题引入 "SDOI2011消耗战" 虚树 按照朴素的做法,就是对于每一个询问都跑一边DP。 $$ Dp[i] = Dp[ i ] + \min( Dp[Son],Cost[i,Son]) \,\,\,(Son不为关键点)\\ Dp[i] = Dp[ i ] + Cost[ i, Son ] \,\ ...
分类:
其他好文 时间:
2019-09-26 21:48:02
阅读次数:
109
"题目链接" 问题分析 显然是虚树题。由于$\sum k\leqslant 500000$,所以直接套个虚树就好了。时间~~经过实践是可以的~~。 参考代码 ...
分类:
其他好文 时间:
2019-09-26 21:22:11
阅读次数:
72
题面 https://www.luogu.org/problem/P2495 题解 ...
分类:
其他好文 时间:
2019-08-29 00:27:42
阅读次数:
134
在一场战争中,战场由 $n$ 个岛屿和 $n-1$ 个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为 $1$ 的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他 $k$ 个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁一些桥梁,使 ...
分类:
其他好文 时间:
2019-04-05 14:05:17
阅读次数:
149