Computer(hdu 2196)
题意:给出一棵树,求出每个点与距离它最远的点的距离。
- /*
- 树形DP
- 先把无根树转为有根树,对于一个节点i来说,与它相距最远的点有两种可能,一是在它的子树中,二是不在,我们分别用f[i][0]和f[i][1]来表示。
- f[i][0]很好求,从子节点向它的父亲递推就可以了。
- 关键在于求f[i][1],我们发现f[i][1]可能有两种情况,一是来自它父亲的子树,而是来自它父亲的f[j][1],然后判断一下就好了。
- */
- #include<iostream>
- #include<cstdio>
- #include<cstring>
- #define N 10010
- #define lon long long
- using namespace std;
- int head[N],vis[N],n,cnt;
- lon f[N][];
- struct node{int v,w,pre;}e[N*];
- void add(int u,int v,int w){
- e[++cnt].v=v;e[cnt].w=w;e[cnt].pre=head[u];head[u]=cnt;
- e[++cnt].v=u;e[cnt].w=w;e[cnt].pre=head[v];head[v]=cnt;
- }
- lon dfs1(int u){
- vis[u]=;
- for(int i=head[u];i;i=e[i].pre){
- if(vis[e[i].v]) continue;
- f[u][]=max(f[u][],dfs1(e[i].v)+e[i].w);
- }
- return f[u][];
- }
- void dfs2(int u){
- vis[u]=;
- lon max1=,max2=;int v1,v2;
- for(int i=head[u];i;i=e[i].pre){
- int v=e[i].v,w=e[i].w;
- if(vis[v]) continue;
- if(f[v][]+w>max1){
- max2=max1;v2=v1;
- max1=f[v][]+w;v1=v;
- }
- else if(f[v][]+w>max2){
- max2=f[v][]+w;v2=v;
- }
- }
- if(u!=){
- if(f[u][]>max1){
- max2=max1;v2=v1;
- max1=f[u][];v1=-;
- }
- else if(f[u][]>max2){
- max2=f[u][];v2=-;
- }
- }
- for(int i=head[u];i;i=e[i].pre){
- int v=e[i].v;
- if(vis[v]) continue;
- if(v1!=v) f[v][]=max1+e[i].w;
- else f[v][]=max2+e[i].w;
- dfs2(e[i].v);
- }
- }
- void work(){
- for(int u=;u<=n;u++){
- int v,w;scanf("%d%d",&v,&w);
- add(u,v,w);
- }
- memset(vis,,sizeof(vis));
- dfs1();
- memset(vis,,sizeof(vis));
- dfs2();
- for(int i=;i<=n;i++)
- cout<<max(f[i][],f[i][])<<endl;
- }
- int main(){
- freopen("jh.in","r",stdin);
- while(scanf("%d",&n)!=EOF){
- memset(head,,sizeof(head));
- memset(f,,sizeof(f));
- cnt=;
- work();
- }
- return ;
- }
Computer(hdu 2196)的更多相关文章
- BestCoder25 1001.Harry and Magical Computer(hdu 5154) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5154 题目意思:有 n 门 processes(编号依次为1,2,...,n),然后给出 m 种关系: ...
- 2道acm编程题(2014):1.编写一个浏览器输入输出(hdu acm1088);2.encoding(hdu1020)
//1088(参考博客:http://blog.csdn.net/libin56842/article/details/8950688)//1.编写一个浏览器输入输出(hdu acm1088)://思 ...
- 树形dp(B - Computer HDU - 2196 )
题目链接:https://cn.vjudge.net/contest/277955#problem/B 题目大意:首先输入n代表有n个电脑,然后再输入n-1行,每一行输入两个数,t1,t2.代表第(i ...
- Bestcoder13 1003.Find Sequence(hdu 5064) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5064 题目意思:给出n个数:a1, a2, ..., an,然后需要从中找出一个最长的序列 b1, b ...
- 2013 多校联合 F Magic Ball Game (hdu 4605)
http://acm.hdu.edu.cn/showproblem.php?pid=4605 Magic Ball Game Time Limit: 10000/5000 MS (Java/Other ...
- (多线程dp)Matrix (hdu 2686)
http://acm.hdu.edu.cn/showproblem.php?pid=2686 Problem Description Yifenfei very like play a num ...
- War Chess (hdu 3345)
http://acm.hdu.edu.cn/showproblem.php?pid=3345 Problem Description War chess is hh's favorite game:I ...
- 2012年长春网络赛(hdu命题)
为迎接9月14号hdu命题的长春网络赛 ACM弱校的弱菜,苦逼的在机房(感谢有你)呻吟几声: 1.对于本次网络赛,本校一共6名正式队员,训练靠的是完全的自主学习意识 2.对于网络赛的群殴模式,想竞争现 ...
- BestCoder Round #69 (div.2) Baby Ming and Weight lifting(hdu 5610)
Baby Ming and Weight lifting Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K ( ...
随机推荐
- TI C6000 数据存储处理与性能优化
存储器之于CPU好比仓库之于车间.车间加工过程中的原材料.半成品.成品等均需入出仓库,生产效率再快,如果仓库周转不善,也必然造成生产阻塞.如同仓库需要合理地规划管理一般,数据存储也需要恰当的处理技巧来 ...
- Android Html处理器通用类 HtmlUtil
1.整体分析 1.1.首先看一下源代码,可以直接Copy. public class HtmlUtil { /** * 获取 html 中的纯文本 */ public static String Ht ...
- Spring---资源访问工具类
JDK所提供的访问资源的类并不能很好的满足各种底层资源的访问需求,因此,Spring设计了一个Resource接口,它为应用提供了更强大的访问底层资源的能力 主要方法 boolean exists() ...
- pdo事务
$pdo->beginTransaction() $pdo->commit() $pdo->rollback();
- 大数据服务大比拼:AWS VS. AzureVS.谷歌
[TechTarget中国原创] 对于企业用户来说,大数据服务是一项较具吸引力的云服务.三大巨头AWS.Azure以及谷歌都在力争夺得头把交椅,但是最后到底是哪一家能够取得王座之战的胜利呢? 云市场正 ...
- [转]ANDROID JNI之JAVA域与c域的互操作
本文讲述AndroidJava域与C域互操作:Java域调用c域的函数:c域访问Java域的属性和方法:c域生成的对象的保存与使用.重点讲解c域如何访问Java域. 虽然AndroidJNI实现中,c ...
- java和c/c++
写c/c++的人,羡慕java可以自己管理内存 写java的人,羡慕c/c++没有gc问题
- python之列表/元组/字典/字符串
一.列表 格式:list = ['xxx','xxx','xxx'] 性质:可以修改列表内容 copy用法: import copy names = ['] names01 = names #直接引用 ...
- Python全栈工程师(每周总结:3)
ParisGabriel 每天坚持 一天一篇 点个订阅吧 灰常感谢 当个死 ...
- Ubuntu16.04 问题汇总
Ubuntu16.04安装wps并解决系统缺失字体问题 http://www.cnblogs.com/liutongqing/p/6388160.html