bzoj 1217 [HNOI2003]消防局的设立 贪心
[HNOI2003]消防局的设立
Time Limit: 10 Sec Memory Limit: 162 MB
Submit: 908 Solved: 531
[Submit][Status][Discuss]
Description
Input
Output
仅有一个正整数,表示至少要设立多少个消防局才有能力及时扑灭任何基地发生的火灾。
Sample Input
1
2
3
4
5
Sample Output
HINT
Source
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 5 using namespace std; 6 7 const int maxn = 1009; 8 9 int N, f[maxn], ans; 10 11 struct edge { 12 int to; 13 edge* next; 14 } E[maxn << 1], *pt = E, *head[maxn]; 15 16 inline void AddEdge(int u, int v) { 17 pt->to = v; 18 pt->next = head[u]; 19 head[u] = pt++; 20 } 21 22 void Init() { 23 scanf("%d", &N); 24 for(int i = 1; i < N; i++) { 25 int v; 26 scanf("%d", &v); v--; 27 AddEdge(i, v); 28 AddEdge(v, i); 29 } 30 ans = 0; 31 } 32 33 void DFS(int x, int p = -1) { 34 int mn = maxn, mx = -maxn; 35 for(edge* e = head[x]; e; e = e->next) if(e->to != p) { 36 DFS(e->to, x); 37 mn = min(f[e->to], mn); 38 mx = max(f[e->to], mx); 39 } 40 if(mn + mx <= 3) 41 f[x] = mn + 1; 42 else 43 f[x] = mx + 1; 44 if(mn == maxn) 45 f[x] = 3; 46 if(f[x] == 5) 47 ans++, f[x] = 0; 48 else if(p < 0 && f[x] > 2) 49 ans++; 50 } 51 52 int main() { 53 54 Init(); 55 DFS(0); 56 printf("%d\n", ans); 57 58 return 0; 59 }
转载于:https://www.cnblogs.com/fengzhiyuan/p/8682180.html
bzoj 1217 [HNOI2003]消防局的设立 贪心相关推荐
- 【bzoj1217】[HNOI2003]消防局的设立 贪心
[HNOI2003]消防局的设立 Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能 ...
- BZOJ1217: [HNOI2003]消防局的设立
BZOJ1217: [HNOI2003]消防局的设立 Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地. 起初为了节约材料,人类只修建了n-1条道路来连接这些基地 ...
- 【洛谷P2279】[HNOI2003]消防局的设立
消防局的设立 题目链接 贪心:每次取出深度最大的节点,若没有被覆盖到,要想覆盖它, 最优的做法显然是将它的爷爷设为消防局 (因为该节点深度为最大,选兄弟.父亲所覆盖的节点,选了爷爷后都能够覆盖) 用优 ...
- [HNOI2003]消防局的设立(贪心)
链接:https://ac.nowcoder.com/acm/problem/20031 来源:牛客网 题目描述 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类 ...
- [Luogu2279][HNOI2003] 消防局的设立
文章目录 题目 法一:树上DP 思路 代码实现 法二:贪心 + 搜索 思路 代码实现 题目 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来 ...
- bzoj1217: [HNOI2003]消防局的设立 [树形dp]
Description 2020年,人类在火星上建立了一个庞大的基地群,总共有n个基地.起初为了节约材料,人类只修建了n-1条道路来连接这些基地,并且每两个基地都能够通过道路到达,所以所有的基地形成了 ...
- [HNOI2003] 消防局的设立
经典题,但还是想写一篇完整而又详细美观的题解. 本文含有贪心及 dp 的做法,适合所有语言人群阅读. 1Perface\Large\textbf{1 Perface}1 Perface 本题的 424 ...
- BZOJ 2151 种树(可反悔贪心,链表)【BZOJ千题计划】就图一乐
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2151 是 hydro 的 BZOJ ...
- BZOJ 2135 刷题计划(贪心,求导,二分)【BZOJ 修复工程】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/2135 是 hydro 的 BZOJ ...
最新文章
- 现代操作系统: 第五章 输入/输出
- 艾伟:详解AJAX核心 —— XMLHttpRequest 对象 (下)
- 龙芯团队 在移值 MIPS64 下的.NET Core 进度速报
- c语言学习-使用指针对三个变量互相赋值
- ConcurrentHashMap 底层原理,你真的理解了吗?
- 深度学习笔记_搭建一个简单网络(完整版)_手写数字识别MNIST
- MFC入门之 Ribbon界面设计
- 微信小程序列表页跳转到详情页
- 主数据及其管理MDM
- R语言对数据进行非参数检验
- android自带网页提供,Android调用系统自带浏览器打开网页的实现方法
- Javascript特效之向左滚动的广告
- 深入解读RFM模型-实战应用干货
- 小内存堆管理算法详细解析
- 【持续更新中······】 各种模板+神奇黑科技
- 最新版 IDEA 2022.1 正式上线 各种新操作...新功能...都在这里啦
- 城乡规划编制资质很多地区已经开通新办了,那你知道怎么办吗?
- w ndows7怎么设置桌面保护,Windows7屏幕保护功能失效了怎么办?
- PlusFo小道消息独家报道,与黑子的争霸谁能更胜一筹
- Matlab实例测验
热门文章
- discuz 后台页面扩展开发
- linux中线程的问题,linux中的线程问题
- Linux Tun/Tap网口(/dev/net/tun)的读写方法
- JavaWeb——AOP
- C#访问和操作MYSQL数据库
- 应用随机过程张波商豪_学术简报五相逆变器非正弦双随机空间矢量脉宽调制策略...
- arduino eeg脑电模块_应用深度学习EEGNet来处理脑电信号
- 团队协助 开源项目_适合小团队的协作工具,良心开源项目管理工具
- 通过OKhttp3 访问 https地址
- Android集成百度地图