有两种做法:一种是经典二分图最小顶点覆盖,一种是树形DP,我用的后者。

第一次学习树形DP……

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <cstdlib>
 4 #include <vector>
 5 #include <algorithm>
 6
 7 using namespace std;
 8
 9 const int MAXN = 1600;
10
11 int N, root;
12 int dp[MAXN][2];
13 vector<int> tree[MAXN];
14
15 void init()
16 {
17     root = -1;
18
19     for ( int i = 0; i < N; ++i )
20     {
21         int u, cnt;
22         tree[i].clear();
23         scanf("%d:(%d)", &u, &cnt );
24         if ( root == -1 ) root = u;
25         for ( int j = 0; j < cnt; ++j )
26         {
27             int v;
28             scanf( "%d", &v );
29             tree[u].push_back(v);
30         }
31     }
32     return;
33 }
34
35 int DFS( int fa )
36 {
37     dp[fa][0] = 0;
38     dp[fa][1] = 1;
39     int len = tree[fa].size();
40     for ( int i = 0; i < len; ++i )
41     {
42         int v = tree[fa][i];
43         DFS( v );
44         dp[fa][0] += dp[v][1];
45         dp[fa][1] += min( dp[v][0], dp[v][1] );
46     }
47     return min( dp[fa][0], dp[fa][1] );
48 }
49
50 int main()
51 {
52     while ( scanf( "%d", &N ) == 1 )
53     {
54         init();
55         printf( "%d\n", DFS(root) );
56     }
57     return 0;
58 }

转载于:https://www.cnblogs.com/GBRgbr/archive/2013/05/04/3058851.html

UVa 1292 - Strategic game相关推荐

  1. UVa在线比赛单题汇总-----DP专题

    动态规划基础 例题 LA 3882 UVa 3882 - And Then There Was One 递推------------无力orz UVa 10635 10635 - Prince and ...

  2. [SinGuLaRiTy] 贪心题目复习

    [SinGuLaRiTy-1024] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [POJ 2709] 颜料 (Painter) 题目描述 ...

  3. UVa Online Judge 工具網站

    UVa Online Judge 工具網站 转自http://www.csie.ntnu.edu.tw/~u91029/uva.html Lucky貓的ACM園地,Lucky貓的 ACM 中譯題目 M ...

  4. [搜索]UVa 129 困难的串

    题意:将一个包含两个相邻的重复子串的子串,称为"容易的串",其他为"困难的串". 输入正整数n和l,输出由前l个字符组成的,字典序第n小的困难的串. 输入样例: ...

  5. uva 401.Palindromes

    题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem ...

  6. Uva 3767 Dynamic len(set(a[L:R])) 树套树

    Dynamic len(set(a[L:R])) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 https://uva.onlinejudge.org/in ...

  7. UVA 11752 超级幂

    UVA 11752 超级幂 Z - The Super Powers Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & ...

  8. UVa 11174 - Stand in a Line

    http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&p ...

  9. UVa 10112 - Myacm Triangles

    UVa第一卷最后一题. 求内部不含点并且面积最大的三角形. 暴力. 代码如下: 1 #include<iostream> 2 #include<cstdio> 3 #inclu ...

最新文章

  1. noip2016考前模板
  2. Service Agent在Hybris ASM里给一个客户移除了某个优惠券,背后发生了什么
  3. BeetleX网关自定义请求日志插件
  4. 在Ajax方式产生的浮动框中,点击选项包含某个关键字的选项
  5. myeclipse自定义java注释
  6. 【转-整理】Struts2中package,action,result,method配置详解
  7. linux vim个人配色方案
  8. js控制5秒后页面自动跳转
  9. Vue项目中引入阿里icon图标
  10. 游戏中的心理学(一):认知失调有前提条件
  11. android webview 之 AgentWeb的使用
  12. 计算机系统的组成中的软件部分
  13. 常用下载方式的区别-BT下载、磁力链接、电驴
  14. Windows11 VMware 此平台不支持虚拟化的 intel vt-x/ept
  15. Global Illumination_Screen-Space Directional Occlusion(SSDO)
  16. 透明、反光材质护肤品拍摄技巧
  17. 查询oracle原始表d,oracle 多表查询
  18. 笑谈 5G,5G白话文
  19. sqlite3数据库的使用及其对应的API函数接口的使用
  20. 通过ssh-keygen命令生成SSH密钥

热门文章

  1. oracle数据泵备份单表,使用数据泵备份/恢复某些表
  2. 选择对话框 android_Android日期时间选择器对话框
  3. java 数学_Java数学课
  4. iOS警报– UIAlertController
  5. primefaces教程_Primefaces仪表板组件示例教程
  6. 开课吧:深入了解C++和C语言的血缘关系
  7. Java基础篇之什么是CharArrayWriter
  8. 阿里云成立技术脱贫联盟,要用技术助力脱贫
  9. cloudstack: 使用服务器No usage server process running
  10. Java网络编程从入门到精通 (9):使用isXxx方法判断地址类型