题目链接:http://poj.org/problem?id=2378

思路:num[u]表示以u为根的子树的顶点个数(包括),如果去掉u之后u的每棵子树都小于等于n/2,则选择u。

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
using namespace std;
#define MAXN 11111
#define FILL(a,b) memset(a,b,sizeof(a)) int n,num[MAXN];
bool mark[MAXN];
vector<vector<int> >g; int dfs(int u,int father)
{
num[u]=;
bool flag=true;
for(int i=;i<g[u].size();i++){
int v=g[u][i];
if(v==father)continue;
int tmp=dfs(v,u);
if(tmp>n/)flag=false;
num[u]+=num[v];
}
if(flag&&n-num[u]<=n/)mark[u]=true;
return num[u];
} int main()
{
int u,v;
while(~scanf("%d",&n)){
g.clear();
g.resize(n+);
for(int i=;i<n;i++){
scanf("%d%d",&u,&v);
g[u].push_back(v);
g[v].push_back(u);
}
FILL(mark,false);
dfs(,-);
for(int i=;i<=n;i++)if(mark[i])printf("%d\n",i);
}
return ;
}

poj 2378(树形dp)的更多相关文章

  1. POJ 2378 树形DP??

    思路: 找到每个节点的儿子size的最大值 和n-当前节点size 取个Max //By SiriusRen #include <cstdio> #include <cstring& ...

  2. Fire (poj 2152 树形dp)

    Fire (poj 2152 树形dp) 给定一棵n个结点的树(1<n<=1000).现在要选择某些点,使得整棵树都被覆盖到.当选择第i个点的时候,可以覆盖和它距离在d[i]之内的结点,同 ...

  3. poj 1463(树形dp)

    题目链接:http://poj.org/problem?id=1463 思路:简单树形dp,如果不选父亲节点,则他的所有的儿子节点都必须选,如果选择了父亲节点,则儿子节点可选,可不选,取较小者. #i ...

  4. poj 2486( 树形dp)

    题目链接:http://poj.org/problem?id=2486 思路:经典的树形dp,想了好久的状态转移.dp[i][j][0]表示从i出发走了j步最后没有回到i,dp[i][j][1]表示从 ...

  5. poj 3140(树形dp)

    题目链接:http://poj.org/problem?id=3140 思路:简单树形dp题,dp[u]表示以u为根的子树的人数和. #include<iostream> #include ...

  6. Strategic game(POJ 1463 树形DP)

    Strategic game Time Limit: 2000MS   Memory Limit: 10000K Total Submissions: 7490   Accepted: 3483 De ...

  7. POJ 2342 树形DP入门题

    有一个大学的庆典晚会,想邀请一些在大学任职的人来參加,每一个人有自己的搞笑值,可是如今遇到一个问题就是假设两个人之间有直接的上下级关系,那么他们中仅仅能有一个来參加,求请来一部分人之后,搞笑值的最大是 ...

  8. poj 3345 树形DP 附属关系+输入输出(好题)

    题目连接:http://acm.hust.edu.cn/vjudge/problem/17665 参考资料:http://blog.csdn.net/woshi250hua/article/detai ...

  9. POJ 1155 树形DP

    题意:电视台发送信号给很多用户,每个用户有愿意出的钱,电视台经过的路线都有一定费用,求电视台不损失的情况下最多给多少用户发送信号. 转自:http://www.cnblogs.com/andre050 ...

随机推荐

  1. Oracle 10g 和11g r2 下载地址(使用迅雷)

    http://www.blogjava.net/wangdetian168/archive/2011/03/01/345428.html  10g http://www.blogjava.net/wa ...

  2. Lex和Yacc入门

     Lex和Yacc入门 标签: lexyacc 2013-07-21 23:02 584人阅读 评论(0) 收藏 举报  分类: Linux(132)  原文地址:http://coanor.blog ...

  3. whereis命令

    whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返回所有信息. 和find相比,whereis查找的速度非 ...

  4. java笔记--策略模式和简单工厂模式

    策略模式: --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3884781.html "谢谢-- 为什么使用:策略模式主要用于 ...

  5. 背景透明的 Dialog

    一:控制Dialog 的背景方法:1.定义一个无背景主题主题 <!--去掉背景Dialog--> <style name="NobackDialog" paren ...

  6. Mysql limit offset

    Mysql limit offset 假设数据库表student存在13条数据. 语句1:select * from student limit 9,4 语句2:slect * from studen ...

  7. [Effective JavaScript 笔记]第28条:不要信赖函数对象的toString方法

    js函数有一个非凡的特性,即将其源代码重现为字符串的能力. (function(x){ return x+1 }).toString();//"function (x){ return x+ ...

  8. Capistrano SSH::AuthenticationFailed, not prompting for password

    文章是从我的个人博客上粘贴过来的, 大家也可以访问 www.iwangzheng.com 在本地执行cap deploy部署的时候会报错: connection failed for: 11.11.1 ...

  9. 搭建Nginx+JAVA环境

    搭建Nginx+JAVA环境 Apache对Java的支持很灵活,他们的结合度也很高,例如Apache+Tomcat和Apache+resin等都可以实现对Java应用的支持.Apache一般采用一个 ...

  10. System.SysUtils.TMarshaller 与 System.TMarshal

    转自:http://www.cnblogs.com/del/archive/2013/06/10/3130974.html TMarshaller(结构) 基于 TMarshal(是有一大堆的 cla ...