hdu2196 Computer待续
2024-10-21 06:32:22
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring>
#include<cmath>
#define ll long long
using namespace std;
inline int read()
{
int x=,f=;
char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-f;ch=getchar();}
while(isdigit(ch)){x=*x+ch-'';ch=getchar();}
return x*f;
}
int n,first[],to[],next[],val[],cnt;
inline void add(int u,int v,int w)
{
to[++cnt]=v;
next[cnt]=first[u];
first[u]=cnt;
val[cnt]=w;
}
int dp[][],depth1[],depth2[];
int dfs1(int x,int fa)
{
for(int i=first[x];i;i=next[i])
{
int v=to[i];
if(v==fa)continue;
dp[x][]=max(dfs(v)+val[i],dp[x][]);
}
return dp[x][];
}
int vis[];
int dfs2(int x,int fav)
{
int max1=,max2=;
int flag1,flag2;
if(vis[x])continue;
for(int i=first[x];i;i=next[i])
{
int v=to[i];
if(vis[v])continue;
int tmp=dp[v][]+val[i];
if(tmp>max1)
{
max2=max1;
max1=tmp;
flag2=flag1;
flag1=v;
}
if(tmp==max1 || tmp>max2)
{
max2=max1;
max1=tmp;
flag2=v;
}
}
if(x!=)
{
int tmp=dp[x][];
int v=-;
if(tmp>max1)
{
max2=max1;
max1=tmp;
flag2=flag1;
flag1=v;
}
if(tmp==max1 || tmp>max2)
{
max2=max1;
max1=tmp;
flag2=v;
}
}
for(int i=first[x];i;i=next[i])
{
int v=to[i];
if(v==flag1)
dp[x][]=max2+val[i];
else dp[x][]=max1+val[i];
dfs2(v,val[i]);
}
}
int main()
{
n=read();
for(int i=;i<n;i++)
{
int u,v,w;
u=read();v=read();w=read();
add(u,v,w);add(v,u,w);
}
dfs1(,-);
}
最新文章
- According to TLD or attribute directive in tag file, attribute end does not accept any expressions
- Linux_03------Linux的基本命令
- oracle REGEXP_SUBSTR函数
- hibernate执行sql的三种方式
- ajax 请求超过了5s 还没有返回 的话 就自动取消
- 在windows上配置jdk环境
- [MATLAB] 利用遗传算法函数求目标函数的最优解
- 基于visual Studio2013解决C语言竞赛题之1053洗牌
- [学习笔记] TensorFlow 入门之基本使用
- popOver 弹出框简单使用
- 混合高斯模型(Mixtures of Gaussians)和EM算法
- java继承方法规则或规律
- FORM调用FORM(标准调客户化&;客户化调标准)并执行查询的实现研究
- 四、自动化平台搭建-Django-如何做验证码
- JavaScript数组方法--includes、indexOf、lastIndexOf
- (线性dp,LCS) POJ 1458 Common Subsequence
- MySQL去重案列(待更新...)
- if判断代码 转变为 流程图
- 【Win10】一些零碎不好归档的小总结(原谅我这个该死的标题吧)
- Sublime Text 3 调用cmd运行c、java、python、batch file
热门文章
- Android SQLite基本用法
- MapReduce Input Split(输入分/切片)具体解释
- Manager模块 队列 管道 进程池
- 关于KMP算法的感想
- zipkin环境搭建
- ural 1303 Minimal Coverage【贪心】
- Python菜鸟之路:Python基础
- [DBNETLIB][ConnectionOpen(Connect()).]SQL Server 不存在或拒绝访问 数据库错误 解决办法总结
- postgres=# psql -U postgres -h 127.0.0.1 -p 5432 -d dreamstart_dev -w
- scala actor编程之对象传递