博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
D. The Fair Nut and the Best Path(树形DP)
阅读量:2353 次
发布时间:2019-05-10

本文共 1026 字,大约阅读时间需要 3 分钟。

#include 
#include
#include
#include
#include
#include
using namespace std;const int maxn = 300000 + 100;typedef long long int ll;vector
G[maxn],dist[maxn];ll a[maxn],dp[maxn],dp_z[maxn];ll ans = 0;int u,v,w;void dfs(int u, int fa){ //dp[u]把u当做起点 //dp_z[u]把u当做中间点 ll max1 = 0;//最大 ll max2 = 0;//次大 for(int i = 0; i <= G[u].size() - 1; i++) { int v = G[u][i]; if(v == fa) { continue; } dfs(v,u); if(dp[v] - dist[u][i] > max1) { max2 = max1; max1 = dp[v] - dist[u][i]; } else if(dp[v] - dist[u][i] == max1) { max2 = max1; } else { if(dp[v] - dist[u][i] > max2) { max2 = dp[v] - dist[u][i]; } } } dp_z[u] = a[u] + max1 + max2; dp[u] = a[u] + max1; ans = max(dp_z[u],ans); ans = max(dp[u],ans);}int main(){ int n; while(cin >> n) { ans = 0; for(int i = 1; i <= n; i++) { cin >> a[i]; } for(int i = 1; i <= n - 1; i++) { cin >> u >> v >> w; G[u].push_back(v); G[v].push_back(u); dist[u].push_back(w); dist[v].push_back(w); } dfs(1,-1); cout << ans << endl; } return 0;}

 

转载地址:http://qnwtb.baihongyu.com/

你可能感兴趣的文章
微信小程序架构分析系列文章
查看>>
聚焦热门框架、前端架构、工程化……,SDCC 2016前端开发专题讲师、议题大揭底...
查看>>
SDCC 2016讲师、知名JavaScript专家周爱民议题公布:有前端思想的物联网系统架构...
查看>>
Stackla前端团队Leader蒋定宇:国外前端开发者的别样人生
查看>>
从产品、技术到投资 微信小程序的全面解读
查看>>
从产品、技术到投资 小程序的全面解读
查看>>
从产品、技术到投资 小程序的全面解读
查看>>
揭秘:微信如何用libco支撑8亿用户?
查看>>
58到家周俊鹏:webpack PK fis,实现前端工程化我更喜欢前者
查看>>
前后端分离和模块化——58到家微信首页重构之路
查看>>
构建应用状态时,你应该避免不必要的复杂性
查看>>
微商新传奇奢瑞小黑裙、两家小程序内测成员都来这了,SDCC2016微信开发专题议题揭晓...
查看>>
未来应用陈鸿:被微信封掉公众号后怎么办?给微信创业者的10点真诚建议
查看>>
聚焦CSS,展现各种前端奇技淫巧,第三届CSS大会即将召开
查看>>
腾讯云技术布道师贺嘉正式受邀出席SDCC 2016微信开发专题,分享腾讯云的小程序解决方案...
查看>>
内测成员爱范儿CTO何世友讲述微信小程序的台前幕后
查看>>
国内资深敏捷教练姜信宝:敏捷学习指南 带你从入门到深入
查看>>
360奇舞团钟恒:选用Vue.js进行组件化开发,我们遇到了哪些坑?
查看>>
QQ音乐高级工程师袁聪:大胆尝试,展现不一样的React Native
查看>>
【SDCC 2016】高吞吐数据库架构专题:腾讯、百度、新浪、网易等企业分布式数据库最佳优化实践大亮相...
查看>>