首页 > TAG信息列表 > 消耗战
2514. 消耗战
题目链接 2514. 消耗战 [SDOI2011] 消耗战 题目描述 在一场战争中,战场由 \(n\) 个岛屿和 \(n-1\) 个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为 \(1\) 的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他 \(k\) 个岛P2495 [SDOI2011]消耗战
【题意】 给定一个有边权的树,m次询问,每次给定k个关键点,求所有关键点互不相连的最小代价 【分析】 和CF613D Kingdom and its Cities十分相似,建立好虚树后,设计树形dp f[i]表示i子树内的关键点都互相断开的答案,那么对于每个节点u: 如果u是关键点,可以考虑断开u的所有存在关键点的儿【洛谷P2495】消耗战
题目 题目链接:https://www.luogu.com.cn/problem/P2495 在一场战争中,战场由 \(n\) 个岛屿和 \(n-1\) 个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为 \(1\) 的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他 \(k\)虚树
虚树 自为风月马前卒大佬的讲解 SDOI2011 消耗战 代码 暂时半懂不懂【SDOI2011】消耗战
题面 https://www.luogu.org/problem/P2495 题解 #include<cstdio>#include<algorithm>#include<vector>#include<stack>#include<iostream>using namespace std;define ll long longdefine N 250050;vector<int> to[N],val[N];int cnt,n;inBZOJ2286: [Sdoi2011]消耗战
BZOJ2286: [Sdoi2011]消耗战 Description 在一场战争中,战场由n个岛屿和n-1个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。 现在,我军已经侦查到敌军的总部在编号为1的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。 已知在其他k个岛屿上有丰富能源,为了防止敌军获取能解题:SDOI 2011 消耗战
题面 本身求答案是简单的树上DP,只需要求出根到每个点路径上的最小值,然后考虑割连父亲的边还是割所有儿子即可,但是每次都这样做一次显然不能通过,考虑优化 用虚树来优化:虚树是针对树上一些点建出来的一棵树,上面只有这些点和它们的LCA。显然这样虚树的大小不会超过2*所选点数,这样在缩Luogu2495[SDOI2011]消耗战
题目描述 在一场战争中,战场由\(n\)岛屿和\(n-1\)个桥梁组成,保证每两个岛屿间有且仅有一条路径可达。现在,我军已经侦查到敌军的总部在编号为\(1\)的岛屿,而且他们已经没有足够多的能源维系战斗,我军胜利在望。已知在其他\(k\)个岛屿上有丰富能源,为了防止敌军获取能源,我军的任务是炸毁[SDOI2011]消耗战
O(n^2)的dp很显然 以1为根 f[x]表示把以为根的子树都砍断的最小代价 f[x]=∑min(f[y],e[i].val) 但是对于K=500000的 发现,每次用到的关键点并不多,是所有关键点和dfn序相邻关键点的LCA, 这启示我们用虚树! 虚树的边权就是路径上链的最小值 总点数是2*K的 至于虚树怎么建? 考虑树