HDU - 1054 Strategic Game
来源:互联网 发布:文档软件哪个好 编辑:程序博客网 时间:2024/05/19 20:43
题意:给定一棵树,选择最小的节点,使得每个没有被选中的节点至少和一个已选节点相邻
思路:简单的树形DP
#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>#include <vector>using namespace std;const int MAXN = 1600;vector<int> g[MAXN];int dp[MAXN][2],vis[MAXN];int n,num,x;void dfs(int r){ if (vis[r]) return; vis[r] = 1; dp[r][0] = 0; dp[r][1] = 1; if (g[r].size() == 0) return; for (int i = 0; i < g[r].size(); i++){ int j = g[r][i]; if (vis[j]) continue; dfs(j); dp[r][0] += dp[j][1]; dp[r][1] += min(dp[j][0],dp[j][1]); }}int main(){ while (scanf("%d",&n) != EOF){ for (int i = 0; i <= n; i++) g[i].clear(); for (int i = 0; i < n; i++){ scanf("%d:(%d)",&x,&num); for (int j = 0; j < num; j++){ int y; scanf("%d",&y); g[x].push_back(y); g[y].push_back(x); } } memset(vis,0,sizeof(vis)); dfs(0); printf("%d\n",min(dp[0][0],dp[0][1])); } return 0;}
0 0
- hdu 1054 Strategic Game
- HDU 1054 Strategic Game
- hdu 1054 Strategic Game
- hdu 1054 Strategic Game
- Hdu 1054 Strategic Game
- hdu 1054 Strategic Game
- HDU - 1054 Strategic Game
- hdu 1054 Strategic Game
- hdu-1054-Strategic Game
- HDU 1054 Strategic Game
- HDU 1054 Strategic Game
- HDU 1054 Strategic Game
- HDU 1054:Strategic Game
- HDU 1054 Strategic Game
- HDU 1054 Strategic Game
- HDU 1054Strategic Game 贪心
- hdu/hdoj 1054 Strategic Game
- hdu 1054 Strategic Game (二分匹配)
- ubuntu12.04 中配置ROS安装的opencv
- 关于const【转】
- 永远不要在 Linux 执行的 10 个最危险的命令
- iOS 随机数(Fixed)
- @Controller的一个错误导致的问题
- HDU - 1054 Strategic Game
- 对于输入的任意一个非负十进制整数,打印输出与其等值的八进制数
- 将Eclipse工程打包成可执行的jar文件
- 教你玩转TabHost(点击事件篇)
- Hadoop 新 MapReduce 框架 Yarn 详解
- adapter适配器模式
- Openvswitch在Ubuntu编译并安装
- 人件
- java环境变量配置