首先通过差分约束系统建图,用Floyed算法求出任意两个砝码差值的上下界。然后暴力枚举放在右边的砝码C,D,通过与A,B差值的上下界分类讨论统计方案。时间复杂度$O(N^3)$。#include#define rep(i) for(i=0;ib)a=b;}inline void umax(int&a...
分类:
其他好文 时间:
2015-11-17 18:45:37
阅读次数:
183
还是花费了几天A这道题的, 蛮好的一道题, 题意是有一家咖啡店在二十四小时内每个小时段都需要一定数目的服务员来提供服务, 有n个应聘者来来这家店(一旦应聘者从第i小时开始工作那么他就要连续的工作八个小时), 现在给定应聘者的数量问你最少需要多少个服务员能满足这家店的需求。 假设r[i]是这家店...
分类:
其他好文 时间:
2015-10-27 23:34:20
阅读次数:
239
差分约束系统如果一个系统由n个变量和m个不等式组成,形如 Xj - Xi j] >= min_dist[j]可以得到Xi + Bk >= Xj, 这和初始给定的约束条件Xj - Xi = k可以转换为 Xi - Xj = k(即Xi - Xj k,差分约束系统只针对 >= 或者 =, <=.参考.....
分类:
其他好文 时间:
2015-10-22 18:57:57
阅读次数:
220
题意:给出一些区间,求一个集合的长度要求每个区间里都至少有两个集合里的数。解法:贪心或者差分约束。贪心的思路很简单,只要将区间按右边界排序,如果集合里最后两个元素都不在当前区间内,就把这个区间内的最后两个数加入集合,如果只有一个元素在区间里就加一个,如果两个元素都在区间里就不加。差分约束系统用来解一...
分类:
其他好文 时间:
2015-10-15 14:27:51
阅读次数:
258
转载自:http://www.cnblogs.com/void/archive/2011/08/26/2153928.html一直不知道差分约束是什么类型题目,最近在写最短路问题就顺带看了下,原来就是给出一些形如x-y,=k的标准形式注意点:1. 如果要求最大值想办法把每个不等式变为标准x-yx-y...
分类:
其他好文 时间:
2015-10-05 23:19:41
阅读次数:
258
非常经典的差分约束系统的建模。求最小值需要转化为求最长路。 1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 7 const int INF = 99999999; 8 const int N = 50...
分类:
其他好文 时间:
2015-08-28 17:23:10
阅读次数:
141
题意:安排n个任务在CPU上工作,告诉m个限制,u,v,z表示v必须在u指令之后执行,并且u和v之间要间隔z秒,问把所有的任务完成最少时间为多少。
思路:差分约束系统,由题意:dist[v]-dist[u]>=z,变形得:dist[u]u权为-z,源点到i权为0,i到汇点权为-1,然后求最短路,答案为 -dist[n+1]....
分类:
其他好文 时间:
2015-08-25 23:45:50
阅读次数:
183
题目大意:给出N个人的坐标和M个听到枪声的顺序,问是否有一个开枪顺序能满足着M个条件,是一个还是多少?解题思路:典型的差分约束系统,设第i个人开枪时间为ti
假设a先听到b的枪声,再听到c的枪声
那么就要满足一个条件
tb + dis(a,b) <= tc + dis(a,c)(这里本来都要除以音速的,但此处可以省略)
由这个不等式构造边,具体构造就不说了,了解差分约束系统的都会构造,如果不...
分类:
编程语言 时间:
2015-08-21 00:08:14
阅读次数:
294
传送门
题意:有N头牛,第i头牛一定在第i-1头和第i+1头中间(按照编号从小到大排列)给出两种约束
1. A 到 B 的距离不超过 D
2. A 到 B 的距离小于 D
要求第N头到第一头的距离最远。若无解,输出-1,若无限远,输出-2.用dis(i)表示从第一头牛到第i头牛的距离,所以
-对于条件1有:dis(A) + D >= dis(B) 连一条从A到B的有向边权值为D(因为最...
分类:
其他好文 时间:
2015-08-11 23:32:00
阅读次数:
169