FZU 2256 树形dp(水)
来源:互联网 发布:数控线切割编程视频 编辑:程序博客网 时间:2024/06/05 08:02
题意:
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2256
中文题。
思路:
一遍dfs,维护路径中遇到的传送门的最短时间即可。
代码:
#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>#include <vector>using namespace std;typedef long long LL;const int MAXN = 1e5 + 10;const LL INF = 1e15 + 10;struct node { LL v, w;};LL dp[MAXN], d[MAXN];vector <node> tree[MAXN];void dfs(int u, LL Mintime) { int cnt = tree[u].size(); for (int i = 0; i < cnt; i++) { LL v = tree[u][i].v, w = tree[u][i].w; dp[v] = min(Mintime, dp[u] + w); dfs(v, min(dp[v] + d[v], Mintime)); }}int main() { //freopen("in.txt", "r", stdin); int n; while (scanf("%d", &n) != EOF) { for (int i = 1; i <= n; i++) { tree[i].clear(); scanf("%lld", &d[i]); } for (int i = 1; i < n; i++) { LL p, w; scanf("%lld%lld", &p, &w); tree[p].push_back((node){i + 1, w}); } dp[1] = 0; dfs(1, d[1]); for (int i = 1; i <= n; i++) printf("%lld ", dp[i]); puts(""); } return 0;}
阅读全文
0 0
- FZU 2256 树形dp(水)
- Fzu 2256 迷宫【基础树形Dp】
- FZU 2195 检查站点 (树形dp)
- FZU 2157 树形DP
- FZU 2195 检查站点 (树形dp)
- FZU 2169 shadow (用了一次邻接表存边,树形DP)
- [FZU 2142 Center of a Tree] 树形DP
- FZU 1180 MiniCost(dp)
- POJ 1155 TELE(树形DP 水)
- poj1155 (树形dp)
- poj1947(树形dp)
- hdu2196Computer(树形dp)
- poj3107(树形dp)
- CodeForces337D(树形DP)
- hdu1561(树形dp)
- codeforces581f(树形dp)
- hdu4616(树形dp)
- hdu5379(树形dp)
- hdu1690 floyd
- 数据封装
- 石坑崆(猛坑石)攻略
- html5 标签
- 剑指offer 名企面试官精讲典型编程题pdf
- FZU 2256 树形dp(水)
- 非关系型数据库MongoDB
- 【MongoDB】查看datasize
- Linux下后缀名为ko、o、a、so、la的文件简述
- Jrtplib收发H264文件 + FFMPEG解码+VFW播放视频
- 流量的秘密-Google-Analytics网站分析与优优化技巧pdf
- 提高模型识别率——偏差、方差问题
- markdown语法
- 面试题七 C/C++ 骑士营救公主 骑士只能向右或者向下移动,遇到陷阱就死了,求骑士营救公主的所有路线-程序员面试题