POJ--2378--Tree Cutting--树形DP
来源:互联网 发布:最新淘宝客网站程序 编辑:程序博客网 时间:2024/06/05 17:32
介个,,,会了1655很自然就会这个题了,简直就是一模一样的
#include<iostream>#include<cstring>#include<vector>#include<cstdio>#include<algorithm>#define INF 99999999#define maxn 12000using namespace std;int n;int p[maxn];int ans[maxn],ic;int num[maxn];vector<int> g[maxn];void build(int u){for(int i=0;i<g[u].size();i++){int v=g[u][i];if(v==p[u])continue;p[v]=u;build(v);}}void init(){int x,y;memset(p,-1,sizeof(p));ic=0;scanf("%d",&n);for(int i=1;i<n;i++){scanf("%d%d",&x,&y);g[x].push_back(y);g[y].push_back(x);}build(1);}int dfs(int u){int sum=0;for(int i=0;i<g[u].size();i++){int v=g[u][i];if(p[u]==v)continue;int res=dfs(v);sum+=res;num[u]=max(num[u],res);}num[u]=max(num[u],n-sum-1);return sum+1;}
//debug codevoid op_tree(int u){printf("%d ",u);for(int i=0;i<g[u].size();i++){int v=g[u][i];if(v==p[u])continue;op_tree(v);}}void op(){op_tree(1);}//------------------debug code end
void solve(){for(int i=1;i<=n;i++)num[i]=-INF;dfs(1);//op();for(int i=1;i<=n;i++){if(num[i]<=n/2){ans[ic++]=i;}}sort(ans,ans+ic);//printf("----------------\n");for(int i=0;i<ic;i++)printf("%d\n",ans[i]);//printf("-------------\n");}int main(){init();solve();return 0;}
- POJ--2378--Tree Cutting--树形DP
- poj 2378 Tree Cutting(树形dp)
- (简单) 树形dp POJ 2378 Tree Cutting
- poj 2378 Tree Cutting (树形dp)
- poj 2378 Tree Cutting 树形dp
- Tree Cutting - POJ 2378 树形dp
- POJ 2378 Tree Cutting(树形DP)
- poj 2378 Tree Cutting (树形dp)
- poj 2378 Tree Cutting(树形dp)
- poj 2378 Tree Cutting 树形DP
- Poj 2378 Tree Cutting (树形DP)
- Poj 2378 Tree Cutting(树形dp)
- poj 2378 Tree Cutting 树形dp (删点)
- POJ 2378 Tree Cutting (简单树形DP、删点)
- POJ.2378 Tree Cutting (树形DP 树的重心)
- POJ 2378 Tree Cutting——树形dp
- Tree Cutting (树形DP)
- Tree Cutting 树形dp
- struts.xml基础配置使用
- Linux上升级perl版本 .
- 2013年的春节
- jQuery 1.9 移除$.browser方法
- /proc/sys/vm/drop_caches用法说明
- POJ--2378--Tree Cutting--树形DP
- 关于std::map中的find和[]的问题
- ImageView点击效果
- 使用ELDK编译器编译U-BOOT
- 填充对象样例程序
- jeecg 2.0 的菜单管理
- qt 界面两个widget的链接
- 精神懈怠
- eclipse不格式化注释