题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34651 题意: 给定一个有向图,每一条边都有一个权值,每次你可以选择一个节点v和一个整数d,把所有以v结尾的边权值减小d,把所有以v为起点的边的权值增加d,最后要让所有边权的最小值大于0且尽量大. 题解: 最小值最大,可以用二分,这样可以得到一个差分约束系统,然后每次都用最短路跑. 代码: #include<iostream> #include<cstd…
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34651 [思路] 差分约束系统. 设结点u上的操作和为sum[u],则边(u,v)权值为d-sum[v]+sum[u].对于最小值最大问题我们想到二分答案,设二分值为x,则问题变为判断最小值为x时题目是否存在解.对于权值我们有不等式d-sum[v]+sum[u]>=x  =>  sum[v]<=sum[u]+(d-x),由此可以建立差分约束系统. 无解:如…
layout: post title: 训练指南 UVA - 11478(最短路BellmanFord+ 二分+ 差分约束) author: "luowentaoaa" catalog: true mathjax: true tags: - 最短路 - BellmanFord - 图论 - 训练指南 - 差分约束 Halum UVA - 11478 题意 带权有向图,每个点都可以有如下操作:令从ta出发的每一条边增加d,终止于ta的每一条边减小d 最后让所有边权的最小值非负且尽量大 题…
Problem  UVA - 11478 - Halum Time Limit: 3000 mSec Problem Description You are given a directed graph G(V,E) with a set of vertices and edges. Each edge (i,j) that connects some vertex i to vertex j has an integer cost associated with that edge. Defin…
对于一个有向带权图,进行一种操作(v,d),对以点v为终点的边的权值-d,对以点v为起点的边的权值+d.现在给出一个有向带权图,为能否经过一系列的(v,d)操作使图上的每一条边的权值为正,若能,求最小边权的最大值. 不得不说,图论与动态规划的产物实在是神奇!! 1.既然是“最小值最大”问题,容易想到二分答案. 2.抽象出数学模型.这个在<训练指南>里写得已经很详细,鄙人还是以自己的理解表达一下. 这里有两处特别值得学习的地方.一.叠加:假设每个点都对应着一个(v,d)操作,那么对于边u->…
Halum Time Limit: 3000ms Memory Limit: 131072KB This problem will be judged on UVA. Original ID: 1147864-bit integer IO format: %lld      Java class name: Main You are given a directed graph G(V,E) with a set of vertices and edges. Each edge (i,j) th…
题目链接 POJ1275 题解 显然可以差分约束 我们记\(W[i]\)为\(i\)时刻可以开始工作的人数 令\(s[i]\)为前\(i\)个时刻开始工作的人数的前缀和 每个时刻的要求\(r[i]\),可以通过如下限制满足: \[s[i] - s[i - 8] \ge r[i]\] \[0 \le s[i] - s[i - 1] \le W[i]\] 但是\(i - 8\)可能为负,回到上一天的时刻,导致区间不连续,不好处理 我们可以二分答案\(sum\) 将\(i < 8\)的部分改为: \[…
每次操作是独立的,而且顺序并不影响,作用在同一个结点上的d可以叠加,所以令x(u) = sigma(dui). 最后就是要确定所有的x(u). 因为m越大,满足条件的边就越少,二分答案m. 对于一条边a->b,可以列出一个不等式d(a,b) +x(a)-x(b)>=m,移项可得x(b)-x(a)<=d(a,b)-m 正好满足差分约束的形式.所有的边就对应着一个差分约束系统. 差分约束有解的充要条件是不存在负环. 证明: x(b)-x(a)<=-c,c>0,意味着x(a)至少比…
题目链接:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2473 题解: 首先我们可以得到的约束条件形如 xi - xj <= b[k] ,即可以转换为 j - > i连边,且权值为b[k],这样建图后我们判断是否有解,只需要用spfa跑负圈就可以了. 如果存在负圈,原差分系统定然无解. 简单证明: 我们不妨设这个环为 x1,…
题目链接:http://vjudge.net/contest/143318#problem/B 题意:给定一个有向图,每条边都有一个权值.每次你可以选择一个结点v和一个整数d,把所有以v为终点的边的权值减小d,把所有以v为起点的边的权值增加d,最后让所有边的权值的最小值大于零且尽量大. 分析: 最小值尽量大,二分,最大不能超过最大边,要是最大边的话,其他边满足不了非负: 题意说的各种操作,他互不影响:也就变成了操作各边. 对于各点的操作来说: 令sum(u) 是作用于 u 上的所有 d 之和;…