POJ 1655-Balancing Act(树形dp)
题意:
求n个节点的树中哪个节点删除以后得到的最大连通分量最小。
分析:同上题
- #include <map>
- #include <set>
- #include <list>
- #include <cmath>
- #include <queue>
- #include <stack>
- #include <cstdio>
- #include <vector>
- #include <string>
- #include <cctype>
- #include <complex>
- #include <cassert>
- #include <utility>
- #include <cstring>
- #include <cstdlib>
- #include <iostream>
- #include <algorithm>
- using namespace std;
- typedef pair<int,int> PII;
- typedef long long ll;
- #define lson l,m,rt<<1
- #define pi acos(-1.0)
- #define rson m+1,r,rt<<11
- #define All 1,N,1
- #define N 20010
- #define read freopen("in.txt", "r", stdin)
- const ll INFll = 0x3f3f3f3f3f3f3f3fLL;
- const int INF= 0x7ffffff;
- const int mod = ;
- int dp[N],n,num[N],used[N];
- vector<int>e[N];
- int dfs(int root){
- num[root]=;
- used[root]=;
- for(int i=;i<e[root].size();++i){
- int son=e[root][i];
- if(used[son])continue;
- num[root]+=dfs(son);
- dp[root]=max(dp[root],num[son]);
- }
- dp[root]=max(dp[root],n-num[root]);
- return num[root];
- }
- int main()
- {
- int t;
- scanf("%d",&t);
- while(t--){
- scanf("%d",&n);
- memset(dp,,sizeof(dp));
- memset(used,,sizeof(used));
- for(int i=;i<=n;++i)
- e[i].clear();
- int a,b;
- for(int i=;i<n-;++i){
- scanf("%d%d",&a,&b);
- e[a].push_back(b);
- e[b].push_back(a);
- }
- dfs();
- int tmp=;
- for(int i=;i<n;++i)
- if(dp[tmp]>dp[i])
- tmp=i;
- printf("%d %d\n",tmp,dp[tmp]);
- }
- return ;
- }
POJ 1655-Balancing Act(树形dp)的更多相关文章
- POJ 1655.Balancing Act 树形dp 树的重心
Balancing Act Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14550 Accepted: 6173 De ...
- poj 1655 Balancing Act 求树的重心【树形dp】
poj 1655 Balancing Act 题意:求树的重心且编号数最小 一棵树的重心是指一个结点u,去掉它后剩下的子树结点数最少. (图片来源: PatrickZhou 感谢博主) 看上面的图就好 ...
- POJ.1655 Balancing Act POJ.3107 Godfather(树的重心)
关于树的重心:百度百科 有关博客:http://blog.csdn.net/acdreamers/article/details/16905653 1.Balancing Act To POJ.165 ...
- poj 1655 Balancing Act(找树的重心)
Balancing Act POJ - 1655 题意:给定一棵树,求树的重心的编号以及重心删除后得到的最大子树的节点个数size,如果size相同就选取编号最小的. /* 找树的重心可以用树形dp或 ...
- POJ 1655 Balancing Act【树的重心】
Balancing Act Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 14251 Accepted: 6027 De ...
- POJ 1655 Balancing Act 树的重心
Balancing Act Description Consider a tree T with N (1 <= N <= 20,000) nodes numbered 1...N. ...
- POJ 1655 Balancing Act&&POJ 3107 Godfather(树的重心)
树的重心的定义是: 一个点的所有子树中节点数最大的子树节点数最小. 这句话可能说起来比较绕,但是其实想想他的字面意思也就是找到最平衡的那个点. POJ 1655 题目大意: 直接给你一棵树,让你求树的 ...
- POJ 1655 Balancing Act (求树的重心)【树形DP】(经典)
<题目链接> 题目大意:给你一棵树,任意去除某一个点后,树被分成了几个联通块,则该点的平衡值为所有分成的连通块中,点数最大的那个,问你:该树所有点中,平衡值最小的那个点是什么? 解题分析: ...
- POJ 1655 Balancing Act(求树的重心--树形DP)
题意:求树的重心的编号以及重心删除后得到的最大子树的节点个数size,假设size同样就选取编号最小的. 思路:随便选一个点把无根图转化成有根图.dfs一遍就可以dp出答案 //1348K 125MS ...
- POJ 1655 Balancing Act (树形DP求树的重心)
题意: 求一棵树中以某个点为重心最小的子树集, 就是去掉这个点, 图中节点最多的联通块节点最少. 分析: 想知道这个点是不是最优的点, 只要比较它子树的数量和除去这部分其他的数量(它的父节点那部分树) ...
随机推荐
- iOS基本网络请求
常见的网络请求有同步GET, 同步POST, 异步GET, 异步POST. GET请求和POST请求的区别: 1. GET请求的接口会包含参数部分,参数会作为网址的一部分,服务器地址与参数之间通过 ? ...
- MITK-Qt4.8.4(x64)+VS2012+Win7_X64 编译记录
本文参考 http://blog.csdn.net/lanxuxml/article/details/9232529(中文) http://docs.mitk.org/nightly-qt4/Buil ...
- c#用反射原理递归遍历复杂实体对象
之前在网上看到的都是遍历那种比较简单的实体对象,但是如果有实体嵌套,甚至是包含有List<XXInfo>这种属性的时候就没有办法处理了.通过递归遍历的方式可以完成对复杂实体对象的所有属性的 ...
- POJ 1269 Intersecting Lines(几何)
题目链接 题意 : 给你两条线段的起点和终点,一共四个点,让你求交点坐标,如果这四个点是共线的,输出“LINE”,如果是平行的就输出“NONE”. 思路 : 照着ZN留下的模板果然好用,直接套上模板了 ...
- linux Ubuntu安装后没有引导 解决方案
用EasyBCD添加ubuntu grub2引导,适用于12.04 及之前版本的ubuntu安装好easybcd后运行,之后看图
- linux中class_create和class_register说明
http://blog.csdn.net/angle_birds/article/details/16802099 本文介绍linux中class_create和class_register的相关使用 ...
- $.cookie 使用不了的问题定位过程
最近在项目中需要使用到jquery的cookie,按理说在html头中引入jquery-1.7.1.min.js和jquery.cookie.js,然后在js中就可以使用cookie函数了.像这样使用 ...
- node.js模块之fs文件系统
fs 模块是文件操作的封装,它提供了文件的读取.写入.更名.删除.遍历目录.链接等 POSIX 文件系统操作.与其他模块不同的是,fs 模块中所有的操作都提供了异步的和同步的两个版本, 例如读取文件内 ...
- [转]vim ruby等的ide设置
使用vim做rails开发,推荐这个 https://github.com/carlhuda/janus 1. vim下的Rails常用插件 首先列出我比较常用的vim插件,基本都是网上提到的哪些.必 ...
- Oracle安装时先决条件检查失败的解决方案
Oracle安装时先决条件检查失败的解决方案 [java] 安装环境:Win7-64bit专业版,内存6G,硬盘空间足够 安装版本:Oracle Database 11g Release 2 (1 ...