SWJTU oj 2387 Magic Maze(DAG 求最长路)
来源:互联网 发布:你买过淘宝的福袋吗 编辑:程序博客网 时间:2024/06/14 08:33
这个题是给出一个有向无环图。
那么就考虑一个DP,dp[i]表示 i 结尾的路径最大值。
因为图是有向无环图,那么至少存在一个起点和终点。
对于起点 u 来说:dp[u]=0;
那么就倒着推,对于一个普通点 u ,可以又 u 的前驱点转移而来,一步步推到起点。
那么就记忆化搜索来写,很简单。
#include<stdio.h>#include<algorithm>#include<string>#include<string.h>#include<queue>#include<vector>#include<stack>#include<math.h>#include<map>#include<set>#include<iostream>using namespace std;#define LL long long#define maxn 1005struct node{ int pre; int len;};vector<node> v[maxn];int n,m;int dp[maxn];void inti(){ memset(dp,0,sizeof(dp)); for(int i=0;i<n;i++) v[i].clear();}int dfs(int u){ if(dp[u]>0) return dp[u]; int l=v[u].size(); int ans=0; for(int i=0;i<l;i++) { node tmp=v[u][i]; int pre=tmp.pre; int len=tmp.len; ans=max(ans,dfs(pre)+len); } dp[u]=ans; return ans;}int main(){ int t; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); inti(); while(m--) { int u,vv,len; scanf("%d%d%d",&u,&vv,&len); node tmp; tmp.pre=u;tmp.len=len; v[vv].push_back(tmp); } for(int i=0;i<n;i++) { if(dp[i]>0) continue; dp[i]=dfs(i); } int ans=0; for(int i=0;i<n;i++) ans=max(ans,dp[i]); printf("%d\n",ans); } return 0;}
阅读全文
0 0
- SWJTU oj 2387 Magic Maze(DAG 求最长路)
- 求DAG最长路 板子
- Codeforces #264 (Div. 2) D. Gargari and Permutations(DAG求最长路)
- (求DAG图最长路)拓扑排序模板
- DAG(递归实现最长路)
- uva 437 (dag 最长路)
- 挖地雷问题(DAG最长路)
- 洛谷1983(DAG上最长路)
- poj1949 DAG 最长路
- uva437 DAG最长路
- light oj A Dangerous Maze(概率dp求期望)
- swjtu oj 1737
- 【2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛 】H Skiing 【求DAG图的最长路】
- UVA 437 DAG最长路
- SWJTU oj Short Problem(异或求和)
- uva 10131 Is Bigger Smarter?(DAG最长路)
- uva 437 The Tower of Babylon(DAG最长路)
- uva 10051 Tower of Cubes(DAG最长路)
- 报错总结
- 谷歌浏览器如何导出书签【实用帖】
- Android Studio如何快速生成get,set,tostring,构造函数
- CSS3 transition介绍
- python从零写一个采集器:入库MySQL
- SWJTU oj 2387 Magic Maze(DAG 求最长路)
- eclipse下运行android项目报错:Conversion to Dalvik format failed with error 1解决办法
- Warning:com.google.common.base.Absent: can't find referenced class javax.annotation.Nullable
- update-rc.d 命令用法详解
- unity3d中animator和animation k动画注意点和问题 无法播放等等
- 静态资源(JS/CSS)存储在localStorage,适用于Web移动端H5页面制作
- sql DML
- Android系统自带主题样式总结及使用
- SylixOS的信号屏蔽浅析