这道题和上一道题非常相似

这道题是看边,上一道是看点。

但是状态定义不同

看边的话没有不放不安全这种状态

因为当前结点的父亲无法让这颗子树没有看到的边看到

所以这种状态不存在

而上一道题存在不放不安全这种状态

因为当前结点的父亲可以让这个不安全的结点变得安全

边和点是两种不同的思考方式,得出得状态和方程也就不一样了

还有这题不知道根。多叉树随便选个点做根,然后注意不要递归到父亲就好了

#include<cstdio>
#include<vector>
#include<algorithm>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std; const int MAXN = 2123;
int f[3][MAXN], n;
vector<int> g[MAXN]; void dfs(int u, int fa)
{
f[0][u] = 0;
f[1][u] = 1;
REP(i, 0, g[u].size())
{
int v = g[u][i];
if(v == fa) continue;
dfs(v, u);
f[0][u] += f[1][v];
f[1][u] += min(f[1][v], f[0][v]);
}
} int main()
{
scanf("%d", &n);
REP(i, 0, n)
{
int u, k, v;
scanf("%d%d", &u, &k);
REP(j, 0, k)
{
scanf("%d", &v);
g[u].push_back(v);
g[v].push_back(u);;
}
}
dfs(0, -1);
printf("%d\n", min(f[0][0], f[1][0])); return 0;
}

caioj 1112 树形动态规划(TreeDP)7:战略游戏的更多相关文章

  1. caioj 1111 树形动态规划(TreeDP)6: 皇宫看守 (状态设计)

    这道题的难点在于状态怎么设计 这道题要求全部都是安全的,所以我们做的时候自底向上每一个结点都要是安全的 结合前一题当前结点选和不选,我们可以分出四种情况出来 选 安全 选 不安全 不选 安全 不选 不 ...

  2. caioj 1114 树形动态规划(TreeDP)3.0:多叉苹果树【scy改编ural1018二叉苹果树】

    一波树上背包秒杀-- #include<cstdio> #include<cstring> #include<algorithm> #include<vect ...

  3. 洛谷 P1273 有线电视网 && caioj 1109 树形动态规划(TreeDP)4:比赛转播(树上分组背包总结)

    从这篇博客往前到二叉苹果树都可以用分组背包做 这依赖性的问题,都可以用于这道题类似的方法来做 表示以i为根的树中取j个节点所能得的最大价值 那么每一个子树可以看成一个组,每个组里面取一个节点,两个节点 ...

  4. 洛谷 P2014 选课 && caioj 1108 树形动态规划(TreeDP)3:选课

    这里的先后关系可以看成节点和父亲的关系 在树里面,没有父亲肯定就没有节点 所以我们可以先修的看作父亲,后修的看作节点 所以这是一颗树 这题和上一道题比较相似 都是求树上最大点权和问题 但这道题是多叉树 ...

  5. caioj 1106 树形动态规划(TreeDP)1:加分二叉树

    解这道题的前提是非常熟悉中序遍历的方式 我就是因为不熟悉而没有做出来 中序遍历是5 7 1 2 10的话,如果1是根节点 那么5 7 1就是1的左子树,2, 10就是右子树 这就有点中链式dp的味道了 ...

  6. 『战略游戏 最大利润 树形DP』

    通过两道简单的例题,我们来重新认识树形DP. 战略游戏(luoguP1026) Description Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题.他要 ...

  7. [洛谷P2016] 战略游戏 (树形dp)

    战略游戏 题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的士兵,使得 ...

  8. P2016 战略游戏 (树形DP)

    题目描述 Bob喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的办法.现在他有个问题. 他要建立一个古城堡,城堡中的路形成一棵树.他要在这棵树的结点上放置最少数目的士兵,使得这些士兵能 ...

  9. P2016 战略游戏——树形DP大水题

    P2016 战略游戏 树形DP 入门题吧(现在怎么是蓝色标签搞不懂): 注意是看见每一条边而不是每一个点(因为这里错了好几次): #include<cstdio> #include< ...

随机推荐

  1. winform控件命名规范对照表

    WinForm Control 命名规范 数据类型 数据类型简写 标准命名举例 Label lbl lblMessage LinkLabel llbl llblToday Button btn btn ...

  2. CSS弹性盒模型flex概念

    盒模型分为:标准w3c盒模型.IE盒模型.以及css中的伸缩盒模型. 先说CSS的伸缩盒模型:flex模型是CSS3引入的新的布局模型,是flexible box的缩写,一般称之为弹性盒模型.和CSS ...

  3. (转载)[Android开发]zxing扫描结果乱码

    ZXing扫描二维码出现中文乱码的问题最近项目的功能需要用到扫描二维码.就参考了google的开源项目ZXing..功能完成后..发现扫条形码没有问题..但是扫描二维码的时候却有一部分是乱码..或者不 ...

  4. 比较好的Dapper封装的仓储实现类 来源:https://www.cnblogs.com/liuchang/articles/4220671.html

    using System; using System.Collections.Generic; using System.Data; using System.Data.SqlClient; usin ...

  5. FCC高级编程篇之Exact Change

    Exact Change Design a cash register drawer function checkCashRegister() that accepts purchase price ...

  6. 紫书 习题8-9 UVa 1613 (dfs染色+图的性质)

    这道题一开始我没想什么直接开始染, 但是是for循环一个节点一个节点染, 然后就WA 后了看了https://www.cnblogs.com/jerryRey/p/4702323.html 发现原来还 ...

  7. Web长连接推送

    http://www.workerman.net/web-sender http://wahahachuang5.iteye.com/blog/2311313

  8. ASP.NET-让html代码输出为字符串

    HttpUtility.HtmlEncode这个函数可以让s变成没有攻击的代码,可以提升网站的安全性 public string Index(string s = "suepr name i ...

  9. NIO框架之MINA源代码解析(一):背景

     "你们的agent占了好多系统的port.把我们的非常多业务系统都给整死了,给我们造成了非常大的损失.要求你们的相关领导下周过来道歉"   --   来自我们的一个客户.   ...

  10. hadoop-03-安装java

    hadoop-03-安装java 1,su root 2, rpm -qa|grep jdk #查看已经安装的jdk 3,rpm -e --nodeps `rpm -qa|grep jdk ` #删除 ...