当前位置: 首页 > 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.dtcms.com/a/203230.html

相关文章:

  • 《初入苍穹:大一新手的编程成长之旅》
  • ACS ANM突破:微波一步法合成多孔吸波材料——焦耳加热技术如何赋能材料创新?
  • JAVASE查漏补缺
  • 无人机精准降落与避障模块技术解析
  • Java 01简单集合
  • HarmonyOS5云服务技术分享--ArkTS开发函数
  • 【深入理解索引扩展—1】提升智能检索系统召回质量的3大利器
  • 软考软件测评师——系统安全设计(防火墙技术)
  • SpringBoot(三)--- 数据库基础
  • vitepress项目添加百度统计或者google统计方式
  • 星闪开发之buttondemo烧录后无效果思路
  • 初识Linux 进程:进程创建、终止与进程地址空间
  • 软考软件评测师——基于风险的测试技术
  • protobuf原理和使用
  • 网络基础知识
  • vue2实现【瀑布流布局】
  • 推一帧,通一气:跨平台RTMP推流的内家功夫
  • Mysql面经
  • SpringBoot3+Vue3(1)-后端 请求头校验,jwt退出登录,mybaits实现数据库用户校验
  • SAGE:基于SAM进行二级蒸馏的多模态图像融合新方法,CVPR2025
  • 如何处理 collation 导致的索引失效 | OceanBase SQL调优实践
  • 信奥赛-刷题笔记-栈篇-T3-P4387验证栈序列0520
  • 13 分钟讲解所有知名 Python 库/模块
  • Linux探秘:驾驭开源,解锁高效能——基础指令
  • 数据仓库是什么?常见问题解答
  • 彭博社聚焦Coinbase数据泄露,CertiK联创顾荣辉警示私钥风险与物理攻击
  • Java从入门到精通 - 案例专题
  • 【RK3588嵌入式图形编程】-Cairo-形状与填充
  • 瑞萨单片机笔记
  • JS 中 var、let、const 的区别联系