差分约束
文章平均质量分 74
捡石子的小孩
这个作者很懒,什么都没留下…
展开
-
poj1275 差分约束
这道题很特殊,与以前做的差分约束完全不一样,因为在它的约束条件中竟然还有变量。 建图方法: 说明: r[i]-------第i小时需要的人 t[i]-------第i小时去应聘的人 s[i]-------第0到i小时总共招聘的人 约束系统: 1.s[i]-s[i-1] 2.s[i]-s[i-1]>=0 3.s[j]-s[i]>=r[i],j=(i+8)%24,j>i 4.原创 2013-03-30 11:42:11 · 1130 阅读 · 0 评论 -
zoj2770 差分约束
这个题考虑的细节真多,但做完后感觉自己对差分约束的理解再次加深了。 /* 用s[i]表示前i的军营的总人数 则s[j]-s[i-1]就是第i个军营到第j个军营的总人数 所以可以把s[i]看做一个节点,然后根据约束条件建边 此题的关键是把所有约束条件给抽象出来! 最后判断是否存在负环 */ #include #include using namespace std; const int N=1原创 2013-03-20 19:31:29 · 1245 阅读 · 0 评论 -
poj1201 差分约束
若用s[i]表示Z中小于或等于i的元素个数,则Z中在区间[ai,bi]中的元素个数课表示为s[bi]-s[ai-1],所以我们可以把每个s[i]作为顶点,然后再根据差分约束建边。 约束条件: 1.s[j]-s[i]>=c(已知条件) 2.s[i]-s[i-1]>=0 3.s[i]-s[i-1] 此处我们可以作一个空间存储上的优化,即对约束条件2和3不显示的把边存起来, 另外还有一原创 2013-03-21 22:12:35 · 1063 阅读 · 0 评论 -
poj 1364 King 差分约束
一道较简单的差分约束题,但这题我忽略了两个问题,以致wrong了13次啊。。首先要注意的是,此题中|V|=n+1,所以外层循环的循环次数为n,而不是想当然的认为是n-1;第二点就是本题中的约束条件不是大于就是小于,不包含等于,所以不能直接按照已知条件建边。 发现这两个错误后,总算A掉了啊啊…… /* 此题是一道差分约束问题,但有个细节需要注意下,就是 此处的约束条件是'',不包含'=’,原创 2013-03-22 19:28:02 · 1004 阅读 · 0 评论