首页 > TAG信息列表 > P2279

P2279 [HNOI2003]消防局的设立 题解

题面 P2279 [HNOI2003]消防局的设立 solve 今天模拟赛考到一道一模一样的题目,但我还写了1h+,真的是越来越菜了 其实这道题一股树形 \(DP\) 的味道,但是要考虑很多状态,父亲,儿子,兄弟,所以考虑贪心 对于一颗以 \(x\) 为根节点的子树,我们考虑几种情况 需要父节点和兄弟节点给一点贡献

【DP专题】——洛谷P2279:消防局的设立

DP好题,贪心好题。 传送门:GO   参考了一下rickole大大的题解:GO   用f[u][0/1/2/3/4]表示第u个点能管+2,+1,0,-1,-2层的最小消防局个数。 其余可以画个图yy一下。 1 #include<bits/stdc++.h> 2 using namespace std; 3 int read(){ 4 int x=0,f=1; 5 char c=getchar(); 6

P2279 消防局的设立 (树形DP or 贪心)

(点击此处查看原题) 树形DP写法 看到这个题的要求,很容易相到这是一个树形DP的问题,但是dp数组应该如何设计并转移才是关键 dp[i][0]代表当前结点可以向上覆盖2层,自身一定被覆盖dp[i][1]代表当前结点可以向上覆盖1层,自身一定被覆盖dp[i][2]代表当前结点可以向上覆盖0层,自身一定被覆盖d

洛谷 P2279 [HNOI2003]消防局的设立

题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地。起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了一个巨大的树状结构。如果基地A到基地B至少要经过d条道路的话,我们称基地A到基地B的距离为d

【题解】P2279消防局的设立

【题解】[P2279 HNOI2003]消防局的设立 又是一道贪心。 随便指定一个点为根,可以知道在覆盖了一个节点的子树的情况下,消防站越高越好。那么我们就贪心吧。\(trick\)是按深度\(push\)到\(queue\)里,然后直接取出来判断、贪心。 咕咕咕 #include<iostream> #include<cstring> #include<