题面:http://poj.org/problem?id=1655

本题是求树的重心裸题。Code:
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<ctime>
using namespace std;
const int N=20005;
int n,f[N],size[N];
struct Node{int v,Next;
}Edge[N*2];
int head[N],Cnt;
void Push(int u,int v){++Cnt;Edge[Cnt].v=v;Edge[Cnt].Next=head[u];head[u]=Cnt;
}
void dfs(int u,int fa){size[u]=1;for(int i=head[u];i;i=Edge[i].Next){int v=Edge[i].v;if(v==fa){continue;}dfs(v,u);f[u]=max(f[u],size[v]);size[u]+=size[v];}f[u]=max(f[u],n-size[u]);
}
int main(){int t,u,v;scanf("%d",&t);while(t--){memset(head,0,sizeof(head));memset(f,0,sizeof(f));Cnt=0;scanf("%d",&n);for(int i=1;i<n;i++){scanf("%d%d",&u,&v);Push(u,v);Push(v,u);}dfs(1,0);int ans1=1,ans2=f[1];for(int i=2;i<=n;i++){if(ans2>f[i]){ans1=i;ans2=f[i];}}printf("%d %d\n",ans1,ans2);}return 0;
}

转载于:https://www.cnblogs.com/ukcxrtjr/p/11243518.html

POJ1655 Balancing Act相关推荐

  1. POJ-1655 Balancing Act 树的重心

    题意:完全符合树的重心:即找到一个点,其所有的子树中最大的子树节点最少. 代码如下: #include <cstdlib> #include <cstring> #includ ...

  2. POJ1655 Balancing Act 题解

    博客园同步 原题链接 简要题意: 给定一棵树,求它的重心,以及 以它为根的最大子树的大小. 重心的定义:以 iii 为根的最大子树最小的 iii 编号. 首先扫清一个误区: 初阶的 Oier\text ...

  3. 『Balancing Act 树的重心』

    树的重心 我们先来认识一下树的重心. 树的重心也叫树的质心.找到一个点,其所有的子树中最大的子树节点数最少,那么这个点就是这棵树的重心,删去重心后,生成的多棵树尽可能平衡. 根据树的重心的定义,我们可 ...

  4. POJ 1655 Balancing Act[树的重心/树形dp]

    Balancing Act 时限:1000ms Description Consider a tree T with N (1 <= N <= 20,000) nodes numbered ...

  5. POJ 1655:Balancing Act

    Balancing Act 题目链接: http://poj.org/problem?id=1655 题意: 给出一棵树,求树的重心和以重心为根节点节点最多的子树的节点数,如果有多个重心输出编号较小的 ...

  6. Balancing Act(树的重心入门)

    题目链接:http://poj.org/problem?id=1655 Balancing Act Time Limit: 1000MS   Memory Limit: 65536K Total Su ...

  7. poj 1655 Balancing Act 树状dp

    //poj1655树状dp //求一个数的重心 // dfs找到节点v的各个子树的节点数 // 取最大值设为num[v],而v节点以上的子树的节点数 // 为总数-num[v]-1(包括v节点本身)设 ...

  8. POJ 1655 Balancing Act (求树的重心)【树形DP】(经典)

    <题目链接> 题目大意: 给你一棵树,任意去除某一个点后,树被分成了几个联通块,则该点的平衡值为所有分成的连通块中,点数最大的那个,问你:该树所有点中,平衡值最小的那个点是什么? 解题分析 ...

  9. POJ 1655 Balancing Act (树的重心)

    题目链接:http://poj.org/problem?id=1655 题意: 求树的重心(最小序号),以及去掉重心后子树节点最大是多少.(树的重心定义为:找到一个点,其所有的子树中最大的子树节点数最 ...

最新文章

  1. 百度PHP高级顾问惠新宸:PHP在百度的发展历程
  2. Nacos 集群部署模式最佳实践
  3. 【zepto学习笔记01】核心方法$()
  4. 【问链财经-区块链基础知识系列】 第二十七课 区块链与分布式账本的异同
  5. NET问答: C# 中是否有 format json 的类库?
  6. css 商城 两列_css大法之使用伪元素实现超实用的图标库(附源码
  7. 从源码分析RocketMQ系列-Remoting通信架构源码详解
  8. centos7中yum源安装mysql_centos7下使用yum安装mysql
  9. ​Azure 助力下,C9 电竞战队所向披靡!​
  10. 2019-08-21
  11. python list去重函数_Python基础中的集合,函数——06
  12. 在Linux下判断系统当前是否开启了超线程
  13. Java实现网页滑动验证与短信验证码案例精析
  14. 使用jxls模板解析导出数据时添加单元格样式
  15. U盘有必要安全弹出吗??
  16. worldpress自定义页面
  17. 亲测可用--word报错:子过程或函数未定义
  18. matlab bar3 颜色,matlab中怎么控制柱状图标注的颜色?
  19. matlab矩阵除法、左除、求逆,这三者有什么区别
  20. visualassist飞鸟的专栏

热门文章

  1. JS调用C#后台函数
  2. 2006世界杯赛程表,不能错过:)
  3. 3Delight NSI: A Streamable Render API
  4. 《C语言程序设计:问题与求解方法》——0.5节本章习题
  5. 从追逐警报到捕获威胁:有效SOC的进化
  6. OCP 论证书籍 -- ORACLE DATABASE 10G OCP Certification All-in - One Exam Guide
  7. Android windowSoftInputMode属性解析
  8. Document is invalid: no grammar found. at (null:3:8)
  9. HTML表单提交规则
  10. OpenCV常见的优化方法和技巧总结