HDU-6201 transaction transaction transaction(树dp / 最长(短)路)
来源:互联网 发布:淘宝fake鞋店 编辑:程序博客网 时间:2024/06/06 16:52
题目:http://acm.hdu.edu.cn/showproblem.php?pid=6201
题意:n个城市,n-1条路,商人要选一个城市买书,一个城市卖书,每个城市都有对应的price,每条路都有对应的的花费,求最大的money
思路:
树dp,dp[u][0]代表买书最大收益,dp[u][1]代表卖书最大收益
dp[u][0] = max(dp[u][0],dp[v][0]-w);
dp[u][1] = max(dp[u][1],dp[v][1]-w);
最长路(最短路)参考http://www.cnblogs.com/Blackops/p/7501966.html
代码:
#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N = 1e5+5;struct edge{ int v,w;};vector<edge> G[N];int maxn,dp[N][2],p[N];void dfs(int u,int fa){ dp[u][0] = -p[u]; dp[u][1] = p[u]; for(auto e : G[u]) { int v = e.v,w = e.w; if(v == fa) continue; dfs(v,u); dp[u][0] = max(dp[u][0],dp[v][0]-w); dp[u][1] = max(dp[u][1],dp[v][1]-w); } maxn = max(maxn,dp[u][0]+dp[u][1]);}int main(){ int T,n; scanf("%d",&T); while(T--) { scanf("%d",&n); for(int i = 1;i <= n;i++) G[i].clear(); for(int i = 1;i <= n;i++) scanf("%d",&p[i]); --n; while(n--) { int u,v,w; scanf("%d%d%d",&u,&v,&w); G[u].push_back({v,w}); G[v].push_back({u,w}); } maxn = -0x3f3f3f3f; dfs(1,-1); printf("%d\n",maxn); } return 0;}
阅读全文
0 0
- HDU-6201 transaction transaction transaction(树dp / 最长(短)路)
- hdu 6201 transaction transaction transaction(最长路)
- HDU 6201 transaction transaction transaction (最长路)
- Hdu 6201 transaction transaction transaction(最长路)
- HDU 6201 transaction transaction transaction【树形DP||SPFA最长路】
- Hdu 6201 transaction transaction transaction【最长路】
- HDU 6201 transaction transaction transaction(树形dp)
- HDU 6201 transaction transaction transaction (树形dp)
- hdu 6201 transaction transaction transaction (spfa求最长路)
- Hdu 6201 transaction transaction transaction 树型DP
- HDU-6201 transaction transaction transaction(树形dp)
- HDU 6201 transaction transaction transaction(dp)
- hdu 6201 transaction transaction transaction tree dp
- HDU 6201 transaction transaction transaction dp
- hdu 6201 transaction transaction transaction 树形dp
- HDU 6201 transaction transaction transaction(SPFA算法求最长路径)
- HDU 6201 transaction transaction transaction(树上dfs/费用流)
- HDU 6201 transaction transaction transaction(SPFA模板)
- TerraExplorer 6.6 for JavaScript 通过图层获取地理要素,获取图层属性信息,矢量标注等通用方法
- burp代理手机客户端不支持代理还走http协议方法
- 1009.Engima(未解)
- 逻辑回归
- Spring MVC远程连云服务器mysql的几点总结
- HDU-6201 transaction transaction transaction(树dp / 最长(短)路)
- SpringMVC集成ActiveMQ
- Gym
- POJ 1279 Art Gallery (计算几何+半平面交)
- Spring AOP实现事务和主从读写分离
- Mnist进阶
- Solr配置从Mysql导入数据到索引库
- 在ASP.NET MVC中,IE与Firefox下载文件带汉字名时乱码的解决方法
- crontab修改默认编辑器