【图论】DAG上的相关问题
2015-09-16 00:08
190 查看
DAG上的最小点路径覆盖
描述:
在图中找尽量少的路径,使得所有点都被覆盖且只被覆盖一次,注意一个单独的点也可算一条路径!思路:
把所有节点的 i 拆为 X 部中的 i 和 Y 部中的 I 两个点,如果G中存在边 i−>j ,则在二分图中建边 i−>J 。设二分图中的最大匹配为m ,则最小点路径覆盖为 n−m 。注意这个不适用于非DAG图,可适用于带权的DAG图!
例题: LA 3126
DAG上的权最大的路径
描述:
DAG上每个节点为带权节点,求一条权值和最大的路径!思路:
动态规划求解!int d(int x){ if(dp[x]) return dp[x]; else if(Map[x].size() == 0) return dp[x] = val[x]; int ans = 0; for(int i=0; i<Map[x].size(); i++){ ans = max(ans, d(Map[x][i])); } return dp[x] = ans+val[x]; } int ans = 0; for(int i=1; i<=scc_cnt; i++) ans = max(ans, d(i));
例题: UVA 11324
相关文章推荐
- Changing DAG & DAG members IP addresses
- Exchange 2010之数据中心切换
- 初学图论-DAG单源最短路径算法
- poj 3249 Test for Job 最长路
- Bad Horse - Practice Round China New Grad Test 2014 - BFS - 二分图判定
- 二分图不带权匹配
- Codeforce 85E (二分答案+二分图染色)
- 无向图的最小边覆盖
- Hdu2063—过山车 二分图最大匹配
- Codeforces498C解题报告
- poj_3041
- uva 1201
- uva12083
- hdu 2255
- [Usaco2011 Nov]Cow Steeplechase奶牛越野跑(二分图裸题)
- hdu2603
- hdu4619
- 匈牙利算法
- POJ 2112 (二分图多重匹配)
- uva10004 Bicoloring 二分图染色