hdu 4109 dfs+剪枝优化
来源:互联网 发布:淘宝商家怎么改头像 编辑:程序博客网 时间:2024/06/06 19:37
求最久时间即在无环有向图里求最远路径
dfs+剪枝优化
从0节点(自己增加的)出发,0到1~n个节点之间的距离为1,mt[i]表示从0点到第i个节点目前所得的最长路径
#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<vector>using namespace std;const int maxn = 1005;int map[maxn][maxn];int mt[maxn];int N, M, ans;void init(){memset(map, 0, sizeof(map));memset(mt, 0, sizeof(mt));for(int i = 0; i <= N; i ++)map[0][i] = 1;}void dfs(int rt, int time){for(int i = 1; i <= N; i ++){if(map[rt][i] != 0 && time+map[rt][i] > mt[i]) // 剪枝优化部分 {mt[i] = time+map[rt][i]; // mt[i]表示进行完第i个节点所需要的目前最久时间 ans = max(ans, mt[i]);dfs(i, mt[i]);}}}int main(){int a, b, c;while(scanf("%d%d", &N, &M) != EOF){init();for(int i = 0; i < M; i ++){scanf("%d%d%d", &a, &b, &c);a ++; b ++;map[a][b] = c;}ans = 0;dfs(0, 0);printf("%d\n", ans);}return 0;}
0 0
- hdu 4109 dfs+剪枝优化
- HDU--1455 -- Sticks [DFS] [剪枝优化]
- HDU 1455 DFS(剪枝优化分析)
- hdu 1010 Tempter of the Bone(DFS+剪枝优化)
- HDU 1010 DFS算法加剪枝(优化)
- DFS 剪枝 hdu 1010
- HDU 1010 DFS+剪枝
- hdu 1445 dfs剪枝
- hdu 1010 DFS + 剪枝
- hdu 1010 dfs+剪枝
- HDU 5113 DFS + 剪枝
- hdu 1010(dfs+剪枝)
- hdu 1010(dfs+剪枝)
- HDU 1010 DFS+剪枝
- hdu 1010 DFS+剪枝
- hdu-1455 dfs+剪枝
- hdu oj 1010 dfs+剪枝
- hdu 1010 dfs+奇偶剪枝
- 在JSP代码中输出JSON格式数据
- 日志分析awk
- 黑马程序员---注解的使用
- iOS开发系列之一 - UIButton 用法小结
- 关于金蝶客户端安装后需要做的几个事情
- hdu 4109 dfs+剪枝优化
- 隐藏Android设备的开发者选项
- REST以及RESTful的实现:Web API
- Material Design(三)
- C++ Stream(流)
- IT忍者神龟之Servlet的多线程 和 Servlet线程安全
- x86函数调用堆栈的操作
- Redis学习手册(开篇)
- iOS开发系列之二 - UILabel 用法小结