
拓扑排序
文章平均质量分 74
RJ28
小学生
展开
-
Uva 10917 Walk Through the Forest(DAG拓扑排序)
题意:jimmy下班需要穿过一个森林,所以打算每天沿着一条不同的路径回家,他只沿着满足如下条件的(A,B)走:存在一条从B出发的回家路,比所有从A出发的回家路都短,问你 一共有多少种回家方案,1为家,2为起点。 分析:求一遍从2开始的单元最短路,然后从新构图,只保留d(a) > d(b) 的 (b,a)边,注意这一定是一个DAG(有向无环图),然后拓扑排序后DP。 #原创 2016-07-27 16:42:00 · 429 阅读 · 0 评论 -
Gym 100801G Graph(贪心构造)
题意:给n个点m条边的DAG,最多可以添加k条边,问添加后的图的最小拓扑序的最大值是多少。 分析:开两个set,一个维护当前入度为0的所有点,一个用来维护需要被加边的点,然后对于第一个set中值最小的点,如果set中还有其他点且k还没用完,那么我们便直接把它扔进第二个set中待处理,否则直接将其打印出;如果第一个set中只有这一个点,我们便考虑能不能从第二个set中找一个最大的点原创 2016-08-29 21:28:21 · 669 阅读 · 0 评论 -
LA 7324 Promotions(bitset)
题意:给你一个SAG,你可以选一个点,但拓扑序在其后的点也要选,让你选a和b个点,问有哪些点必须被选中,最后还问了选b个点哪些一定不被选中。 分析:比赛时写了n^2的暴力跑过了,正解是BITSET压缩一下一个点的前驱集合和后驱集合。 #include #include #include #include #include #include #include #include #原创 2016-08-14 00:49:52 · 290 阅读 · 0 评论