摘要:
3169 -- Layout 继续差分约束。 这题要判起点终点是否连通,并且要判负环,所以要用到spfa。 对于ML的边,要求两者之间距离要小于给定值,于是构建(a)->(b)=c的边。同理,对于MD的,构建(b)->(a)=-c的边。然后就是(i+1)->(i)=0,两者距离大于0的限制。代码如下: 1 #include 2 #include 3 #include 4 #include 5 #include 6 7 using namespace std; 8 9 const int N = 1111;10 const int M = 33333;11 struct Ed. 阅读全文
摘要:
1716 -- Integer Intervals 跟之前个人赛的一道二分加差分约束差不多,也是求满足条件的最小值。 题意是,给出若干区间,需要找出最少的元素个数,使得每个区间至少包含两个这里的元素。 做法就是建立(b)->(a)=-2,(i)->(i+1)=1,(i+1)->(i)=0的边,然后跑一次spfa即可。 做完的时候,因为队列开太小,所以re了一次。代码如下: 1 #include 2 #include 3 #include 4 #include 5 6 using namespace std; 7 8 const int N = 11111; 9 struct. 阅读全文