摘要: 对于一个有向带权图,进行一种操作(v,d),对以点v为终点的边的权值-d,对以点v为起点的边的权值+d。现在给出一个有向带权图,为能否经过一系列的(v,d)操作使图上的每一条边的权值为正,若能,求最小边权的最大值。不得不说,图论与动态规划的产物实在是神奇!!1、既然是“最小值最大”问题,容易想到二分答案。2、抽象出数学模型。这个在《训练指南》里写得已经很详细,鄙人还是以自己的理解表达一下。 这里有两处特别值得学习的地方。一、叠加:假设每个点都对应着一个(v,d)操作,那么对于边u->v来说,受到两个端点的影响,最终的权值为(c+du-dv)。二、抽象:这个没学过差分约束真心想不到。之前想 阅读全文
posted @ 2013-08-18 23:00 Thousand Sunny 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 在加权有向图中求平均权值最小的回路。一上手没有思路,看到“回路”,第一想法就是找连通分量,可又是加权图,没什么好思路,那就转换题意:由求回路权值->判负环,求最小值->常用二分答案。二份答案,再利用利用bellman-ford判负环。注意:1、double:经常为了确定每个变量的类型,漏掉了某个变量,调半天心都凉了。干脆全变double。2、没有告诉m的数据范围,要是在比赛中肯定有人问,要是reply是“read carefully”,总不能猜吧,乖乖用vector吧= =3、原图为有向图,但不一定强连通,所以所有点要先入队才能找到全部的连通分量(就wa在这里) 1 #includ 阅读全文
posted @ 2013-08-18 13:17 Thousand Sunny 阅读(274) 评论(0) 推荐(0) 编辑