当前位置: 首页 > news >正文

战略游戏--树形dp

1.与没有上司的舞会类似,但没有上司的舞会要多考虑一种儿子全都没来的情况,但这里不存在,因为要实现覆盖,不能不管儿子孙子

2.状态:安or不安

3.边界:叶子

4.转移:dp[u][1]///安了+=min(dp[v][0],dp[v][1],儿子都可以,选最小

dp[u][0]=sum(dp[v][1],没安那么儿子一定要安

P2016 战略游戏 - 洛谷

https://blog.csdn.net/2301_80422662/article/details/148059280?spm=1011.2124.3001.6209

#include<bits/stdc++.h>
using namespace std;
#define N 100011
typedef  long long ll;
int n;
int dp[1611][2];
bool bo[1611];
vector<int> mp[1611];
void dfs(int u)
{bo[u]=true;dp[u][1]=1;for(int v:mp[u]){if(!bo[v]){dfs(v);dp[u][0]+=dp[v][1];dp[u][1]+=min(dp[v][1],dp[v][0]);}}
}
int main() {ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);cin>>n; for(int i=0;i<n;i++){int x,k;cin>>x>>k;for(int j=0;j<k;j++){int y;cin>>y;mp[x].push_back(y);mp[y].push_back(x);}}dfs(0);cout<<min(dp[0][0],dp[0][1]);return 0;
}

http://www.xdnf.cn/news/546571.html

相关文章:

  • Java中字符串(String类)的常用方法
  • 如何使用MATLAB NLP工具箱进行文本聚类
  • notepad++
  • 使用 vite-plugin-dynamic-base 实现运行时动态设置上下文路径
  • SetThrowSegvLongjmpSEHFilter错误和myFuncInitialize 崩溃
  • 深度学习框架显存泄漏诊断手册(基于PyTorch的Memory Snapshot对比分析方法)
  • LLM: 多模态LLM动态分辨率
  • AI知识库- Cherry Studio构建本地知识库
  • winrm ‘Protocol‘ object has no attribute ‘run_ps‘
  • AI编程辅助哪家强?深度解析主流AI编程工具的现状与未来-优雅草卓伊凡
  • 裸金属服务器:解锁极致性能,拒绝虚拟化开销!
  • es学习小结
  • OSError: [WinError 193] %1 不是有效的 Win32 应用程序。
  • AI人工智能的SGLang、vllm和YaRN大语言模型服务框架引擎的对比
  • 大语言模型 15 - Manus 超强智能体 开源版本 OpenManus 案例与原理深入解析
  • JIT即时编译器全面剖析:原理、实现与优化
  • 医疗器械erp系统 关键的管理工具 满足GSP需求
  • Java泛型 的详细知识总结
  • vue3+elementPlus穿梭框单个拖拽和全选拖拽
  • Windows 安装Anaconda
  • 2025年电工杯新规发布-近三年题目以及命题趋势
  • 瀚高数据库安全版审计查询方法
  • vue3前端后端地址可配置方案
  • Spark大数据分析案例(pycharm)
  • Rocketmq broker 是主从架构还是集群架构,可以故障自动转移吗
  • 深度解析 HDFS与Hive的关系
  • C#中使用SharpSvn和TortoiseSVN操作SVN版本控制系统的完整指南
  • FreeSWITCH 纯内网配置
  • 实现图片自动压缩算法,canvas压缩图片方法
  • Java 单元测试框架比较:JUnit、TestNG 哪个更适合你?