差分约束系统
Grit_ICPC
Dielts
展开
-
POJ 3159 Candies(差分约束系统)
题目大意:给n个同学分发糖,第一行为n,m,分别代表n个学生,m个关系, 下边的a,b,c代表b比a不能多与c个糖,即有关系b-a<=c(b<=a+c)与最短路的关系dis[b]>dis[a]+c相对,所以若求最大的差应该在满足所有b<=a+c的条件。所以找到最小最小的b即可。思路:本来是SPFA+手写队列TLE,然后看讨论用栈就行- -!(手写的时候应该是f1++,–f1)#include<ma原创 2016-01-26 21:37:17 · 450 阅读 · 0 评论 -
POJ 1201 Intervals
这道题也是很坑的- -!模拟队列不是RE就是TLE模拟栈才对。。 题目大意:有n个区间每个区间范围为a,b,在每个区间内任选c个数,是的最后的集合内没有重复元素的集合包含最少的元素。思路:通过这道题才算是明白怎么玩构造差分约束系统,在区间a,b的话我们如果直接add(a,b,c)的话很明显,当a=b时,没法去区分从当前点到a,还是b的问题。然后我们再看约束条件: 1、明显条件dis[b+1]-d原创 2016-01-27 10:55:26 · 470 阅读 · 0 评论 -
POJ 2983 Is the Information Reliable? (约束差分系统||SPFA判负权环)
题目大意:n个点,m个条信息。P 代表a在b北距离为c,V代表a,在b北至少1 问有没有冲突的信息。思路:根据a-b=c公式我们可以推出a-b<=c&&a-b>=-c,并且a-b>=1 那么对于第一个公式我们可以分别正向和逆向建图。后者单向建图。然后进行最短路如果出现负权环则代表,有冲突(可以找3组数据画出来看看)。如果没有冲突的话肯定整个图是平衡的正逆向和为0,有冲突则出现环。 那么我们可以原创 2016-01-27 16:36:39 · 452 阅读 · 0 评论 -
POJ 1364 King(差分约束)
题目大意:给定n个点,m行信息,接下来每行有4个变量a,b,str,c; a代表Sa,b为在a的基础上的移动量即Sa+b,str有两种分别为lt(<)和gt(>), c代表限制量。思路:此种为区间形式的差分约束,所以建图的时候注意后移(前移),然后建立源点。可用最短路判负权环,有不等式Sa+b-Sa>c(Sa+b-Sa>=c+1系统中都是有等号的,统一化成Sx<=Sy+c的形式即可(保证最短路可原创 2016-01-28 19:34:37 · 459 阅读 · 0 评论