随笔分类 -  差分约束

摘要:从开始学习差分约束到现在也应经做过几道题了,但是在做这道题的时候突然就不知道差分约束到底是来干嘛的了,很郁闷,用重新看了一遍《算法导论》上的讲解,然后有浏览了一下自己做过的题,终于是明白了那么点~~其实说到底,差分约束就是给你N个不等式,让你求一下是不是有一组N维的矩阵使这些不等式都成立,而这个N维矩阵是不确定,所以所有的差分约束题不是让你判断是否可能实现,就是让你求出xn-xi的最大值,最小值什么的,从来不会让你求出符合要求的一组解,或许会有,是我还没做到,而之所以要用求最短路的各种方法来求解就是因为要求解的不等式形式和最短路中的不等式形式相识,所以那些方法既然能求最短路,自然能求这些不等式 阅读全文
posted @ 2012-07-23 11:15 Misty_1 阅读(223) 评论(0) 推荐(0)
摘要:题意:有一包糖果,分给N个孩子,有些孩子可以比另一些孩子多,但是不能躲过ci个,给出m对 A B ci,意思是孩子B比孩子A多不超过ci个。思路:其实就是一道裸差分约束,但是这题卡时间,看了discuss里的讨论,说是边比点多,用Dij比较快,又看了一下点的数据范围,果断用了数组模拟的邻接表,然后。。。。。就AC还有一点就是如果要把一个数初始化为无穷大,最好是INF=100000000 ,而不要INF=0xffff,因为后面一种INF的值为65536,有时不够大。。。代码:#include <stdio.h>#include <string.h>#include < 阅读全文
posted @ 2012-07-22 11:13 Misty_1 阅读(147) 评论(0) 推荐(0)
摘要:啊!啊!啊!快要哭了,调了一下午加一晚上,怎么也找不出错误,感觉自己理解的也没错,怎么就是不对呢,在我要崩溃的时候终于AC了,原因竟然是因为判断条件没用函数,真的崩溃了!!题意:给出N个点,有些点的位置是清晰的, 有些点的位置不清楚,只知道点A在点B的北面,清晰的点有两点间的距离, 不清晰的点只知道两点的距离不小于1。思路:这题时用差分约束做的,刚开始接触差分约束,知道要先找到不等式,但这题里有些是等式,要先转化成不等式,即 c<= dis[i] + dis[j] <= c ;不清晰的点有不等式d[i] + d[j] >= 1;然后直接用差分约束模板就解决了!我是用的SPFA 阅读全文
posted @ 2012-07-21 20:29 Misty_1 阅读(169) 评论(0) 推荐(0)
摘要:呃,这是我做的第一道差分约束题,想先谈谈我对差分约束的理解,由于本人能力有限,可能理解有点浅显。如果您已看过相关讲解,请无视之。。。。1、想看的是百度百科和维基百科上对差分约束的的定义,上面都举了同一个例子,就是,寻找一个5个向量x=(xi)以满足下列8个差分约束条件:x1-x2≤0 ,x1-x5≤-1 ,x2-x5≤1 ,x3-x1≤5 ,x4-x1≤4 ,x4-x3≤-1 ,x5-x3≤-3 ,x5-x4≤-3然后讲了用Bellman_ford求最短路的方法来实现差分约束。2、然后,看了这道题,本以为会是一道裸的差分约束题,想了一会,很是没思路,很没“骨气”的查了解题报告,结果又了解了一点 阅读全文
posted @ 2012-07-21 11:27 Misty_1 阅读(241) 评论(0) 推荐(0)