尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

消防局的设立

消防局的设立
📅 发布时间:2026/6/20 6:26:29

消防局的设立

问题描述

由题意知,及给定一颗树,若节点内建立消防站,周围两个内均不需要建立消防站,问至少需要多少个消防站才能让整个树不发生不可控的火灾?

思路

·f[x][0]:至少让x向上2层之下都覆盖信号的答案。
·f[x][1]:至少让x向上1层之下都覆盖信号的答案。
·f[x][2]:至少让x自己及之下覆盖信号的答案。
·f[x][3]:至少让x向下1层之下都覆盖信号的答案。
·f[x][4]:至少让x向下2层之下都覆盖信号的答案。

代码

#include<bits/stdc++.h>
using namespace std;
const int N=INT_MAX;
int n,f[1010][5];
vector<int> G[1010];
void dfs(int x) {if(G[x].empty()) {f[x][0]=1,f[x][1]=1,f[x][2]=1;return;}for(int i:G[x]) dfs(i);f[x][0]=1;int mi=N,mn=N;for(int i:G[x]){f[x][0]+=f[i][4];f[x][1]+=f[i][3];f[x][2]+=f[i][2];f[x][3]+=f[i][2];f[x][4]+=f[i][3];mi=min(mi,f[i][0]-f[i][3]);mn=min(mn,f[i][1]-f[i][2]);}f[x][1]+=mi;f[x][2]+=mn;f[x][1]=min(f[x][1],f[x][0]);f[x][2]=min(f[x][2],f[x][1]);f[x][3]=min(f[x][3],f[x][2]);f[x][4]=min(f[x][4],f[x][3]);
}
int main() {cin>>n;for(int i=2; i<=n; i++) {int u;cin>>u;G[u].emplace_back(i);}dfs(1);cout<<f[1][2];
}

相关新闻

  • 2025年精密弹簧厂家推荐排行榜,微型精密弹簧,不锈钢精密弹簧,高弹性精密弹簧公司推荐!
  • 2025网络推广服务推荐:云数智推,专业定制化营销解决方案!
  • 详细介绍:遥感目标检测数据集汇总,覆盖城市问题/工业安全/农业健康/室内场景……

最新新闻

  • 嵌入式GUI开发利器:emWin仿真工具从入门到精通实战指南
  • 谱截断归一化MMD:高效分布比较的核方法优化
  • 范畴论视角下的拓扑赋值转移:统一建模计算机科学中的结构与变换
  • LPC213x ARM7 Flash编程与调试实战:ISP/IAP命令详解与JTAG/ETM应用
  • 2026年评价高的山东镀锌链条/刮板机链条优质公司推荐 - 品牌宣传支持者
  • CSP实战指南:从HTTP头配置到React/Vite安全加固

日新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

周新闻

  • Visual C++运行库修复终极指南:5分钟快速解决Windows软件启动错误
  • 手把手教你构建统计局地区经济数据爬虫:从环境搭建到数据持久化全指南
  • 2026多Agent深度解析:用AI团队替代单一模型,四种架构实战落地

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号