poj2631

求一棵树的直径,所谓直径就是树上距离最远的两个点!

树形动归,每个点的为根的子树的最长向下链和次长链的和!

当然也可以二次深搜!

————————————————————————————————————————————————————

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 #include<iostream>
 5 using namespace std;
 6 const int maxn=10010;
 7 struct edge
 8 {
 9     int u,v,w,next;
10 }e[maxn<<1];
11 int head[maxn],js;
12 long long ans;
13 long long ml[maxn],sl[maxn];
14 void addage(int u,int v,int w)
15 {
16     e[++js].u=u;e[js].v=v;e[js].w=w;
17     e[js].next=head[u];head[u]=js;
18 }
19 void dfs(int u,int fa)
20 {
21     for(int i=head[u];i;i=e[i].next)
22     {
23         int v=e[i].v;
24         if(v!=fa)
25         {
26             dfs(v,u);
27             if(ml[v]+e[i].w>ml[u])
28             {
29                 sl[u]=ml[u];
30                 ml[u]=ml[v]+e[i].w;
31             }
32         }
33         else if(ml[v]+e[i].w>sl[u])
34             sl[u]=ml[v]+e[i].w;
35     }
36     if(ml[u]+sl[u]>ans)ans=ml[u]+sl[u];
37 }
38 int main()
39 {
40     int u,v,w;
41     while(scanf("%d%d%d",&u,&v,&w)==3)
42     {
43         addage(u,v,w);
44         addage(v,u,w);
45     }
46     dfs(1,0);
47     cout<<ans;
48     return 0;
49 }
View Code

 

转载于:https://www.cnblogs.com/gryzy/p/9842094.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/464587.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

原来做的一个语义搜索软件的界面

今天得知NGW&#xff08;New Generation Web&#xff0c;关于语义网络方面的&#xff09;课程及实验作业成绩已公布&#xff0c;急去查看&#xff0c;但与想象中相去甚远。 罢了&#xff0c;凡事但求尽力而为&#xff0c;末了问心无愧即可&#xff0c;其它种种皆是虚幻。 附&am…

2年质保期刚过就翘辫子,这是什么骚设计?

1.终于又坏了一件自从开始写聊聊身边的嵌入式这个系列&#xff0c;便常常有一个邪恶的想法在脑袋里盘旋&#xff0c;总盼着家里哪件电器赶紧出点毛病。你知道&#xff0c;如果不把一个东西拆的七零八落&#xff0c;覆水难收&#xff0c;那是不能满足咱们的好奇心的。都说念念不…

java时间戳版本号_maven 自动编译版本号 buildnumber-maven-plugin 1.4

最近新项目要需要更新发布版本号&#xff0c;用于标识发布的版本&#xff0c;网上找了下插件&#xff1a;buildnumber-maven-plugin 1.4 。记录下自己使用成功过程中遇到的各种问题&#xff0c;以供需要的朋友参考&#xff1a;插件官方网站&#xff1a;http://www.mojohaus.org…

如何分割合并ISO文件

今天打算在电脑上装Androd系统&#xff0c;谷歌考虑到了这方面的需求&#xff0c;特意制作了liveandroidv0.3.iso操作系统的镜象文件供开发人员下载。没有人愿意为了装这个系统而把原先的系统换掉&#xff0c;许多人也只是想玩票一下。这样就只能用虚拟机安装了&#xff0c;虚拟…

推荐Linux内核书籍

大家好&#xff0c;挺久没推荐内核相关的书籍了&#xff0c;今天给大家推荐一本我觉得不错的书&#xff0c;这本书籍的作者叫做李云华&#xff0c;书籍名字叫《独辟蹊径品内核》&#xff0c;他的写作思路非常不错&#xff0c;他会引用内核代码中的内容&#xff0c;给大家剖析讲…

java照片墙_基于jQuery实现照片墙自动播放特效

一个动态展示图片的页面&#xff1a;功能&#xff1a;定时从后台取数据&#xff0c;进行页面图片追加。对已经在页面中的图片&#xff0c;进行放大缩小动画展示。目前我们用于微信新关注用户头像展示。抽奖body{background-color:#000;text-transform:uppercase;color:#fff;pos…

使用croc命令在Linux系统电脑之间传输文件和文件夹

‍在两台或多台计算机之间传输文件的方法有很多。‍你可以使用基于服务器的文件共享工具&#xff0c;点对点文件共享app&#xff0c;U盘&#xff0c;外部硬盘驱动器&#xff0c;SCP&#xff0c;NFS&#xff0c;FTP&#xff0c;HTTP&#xff0c;云存储平台等等。本文将介绍一个名…

Lady Bird

La Ballade of Lady Bird[Lady Bird]Bird : Lady? Lady : Yes Bird? Bird : Its cold Lady : I know Lady : Bird... I cannot see a thing Bird : Its all in your mind Lady : Im worried Bird : No one will come to see us Lady : Maybe they come but we just dont see …

揭秘 | 小米最新款12PRO智能动态刷新率技术原理

1. 背景最新发布的小米手机12pro提到了一个安卓系统上的新技术&#xff1a;智能动态刷新率。这到底是个啥技术&#xff1f;让雷军同学可以大吹特吹。智能动态刷新海报要解释上面的技术&#xff0c;不得不提刷新率和帧率这两个概念。在平时的生活当中&#xff0c;你可能也会经常…

看看高手做的ARM开发板

放假前&#xff0c;我写了一篇文章&#xff0c;里面有提到我放假的时候会接触一个开发板&#xff0c;这个开发板就是标题提到的这个ARM处理器&#xff0c;这篇文章会对这个处理器和开发板做个简单的介绍。说这个开发板前&#xff0c;先介绍下我的一个朋友zzy。zzy是通过公众号接…

心情-天气

最近雨还满多的&#xff0c;但不是阴雨连绵&#xff0c;中间会时不时有个大晴天。一直觉得下雨的日子就应该是安排在周一到周五&#xff0c;这样的话我就可以安心的聚精会神的上班&#xff0c;因为反正下雨哪里也不想去&#xff0c;还是好好上班比较好&#xff0c;躲在办公室里…

单线程会导致死锁吗?

我之前在我们的项目里面解决了一个死锁的问题&#xff0c;然后我跟一个我的朋友聊了下&#xff0c;他让我深入研究下这个问题。大家也可以考虑想我的这个问题。首先我们再看看什么是死锁&#xff1f;什么是死锁用个通俗的例子讲一讲死锁死锁从文字理论上说明的是两个线程&#…

Json的优缺点

JSON的定义 一种轻量级的数据交换格式&#xff0c;具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案&#xff08;有点类似于正则表达式 &#xff0c;获得了当今大部分语言的支持&#xff09;&#xff0c;从而可以在不同平台间进行数据交换。JSON…

软件工程师 VS 硬件工程师

因为在软件行业35岁就算老人了而搞硬件的53岁正辉煌表面上看起来高大上的硬件工程师在实际的工作中&#xff0c;其实很惨...以上漫画虽然调侃的意味更多但现实中搞硬件的门槛确实很高收入也会随着经验的增多不断增长硬件工程师也基本不存在中年危机如果实在搞不下去了转项目经理…

假如我们的坦克继续前进队——需求改进系统设计

需求和原型改进 在上个星期的《需求说明书》课堂讨论中&#xff0c;老师提出了游戏的用户界面的设计问题。 经过小组成员的讨论后&#xff0c;我们的想法如下&#xff1a;设计关卡基于时间和人手问题难以实现因此改为一关的形式&#xff0c;以便有更多的时间出开发趣味性更高的…

DIY一个低成本多功能点阵时钟!

大家好&#xff0c;转发一篇正念同学的文章----大家好&#xff0c;我是ZhengN。本次转载一篇保姆级的diy教程&#xff1a;基于Esp8266的多功能点阵时钟 。简介很早就了解ESP8266了&#xff0c;当时也用这个搞过一些小demo&#xff0c;一直也没有想过要弄些实际的作品出来&#…

从DataTable导出Excel,并下载,删除Excel进程。

页面上加入一个button即可.源代码如下: usingSystem;usingSystem.Collections;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Web;usingSystem.Web.SessionState;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.HtmlC…

Traceroute(路由追踪)的原理及实现

现实世界中的网络是由无数的计算机和路由器组成的一张的大网&#xff0c;应用的数据包在发送到服务器之前都要经过层层的路由转发。而Traceroute是一种常规的网络分析工具&#xff0c;用来定位到目标主机之间的所有路由器 原理 在介绍Traceroute的原理之前&#xff0c;需要了解…

我们应该搞清楚分支预测

分支预测的英文名字是「Branch Prediction」大家可以在Google上搜索这个关键字&#xff0c;可以看到关于分支预测的很多内容&#xff0c;不过要搞清楚分支预测如何工作的&#xff0c;才是问题的关键。分支预测对程序的影响我们来看看下面的两段代码代码1#include <algorithm…

Intent介绍及Intent在Activity中的使用方法

1.Intent的实现过程   在Android中&#xff0c;Intent不仅可用于应用程序之间的交互&#xff0c;也可用于应用程序内部的Activity/Service之间的交互。   Intent负责对应用中一次操作进行描述&#xff0c;描述内容包括动作以及动作所涉及的数据&#xff0c;Android中的In…