摘要: 题意:模拟了汽车的行驶过程,边上的权值为全速通过所消耗的时间,而起步(从起点出发的边)、刹车(到终点结束的边)、减速(即将拐弯的边)、加速(刚完成拐弯的边)这四种不能达到全速的情况,消耗的时间为权值*2。问从起点到终点所消耗的最少时间。这道题主要是建图,很复杂,无耻地照着书上的代码码了一遍。让状态搞糊涂了= =注意:1、grid[][][4]记录了点的上下左右四条边的权值,id[][][4][2]记录各个点。2、到一个点的最短路可以是路过这个点再折返回来,e.g:1->2 c=17,2->3 c=4,从1->2的最短路为17+8+8=33 2 #include 3 #incl 阅读全文
posted @ 2013-08-23 21:02 Thousand Sunny 阅读(436) 评论(0) 推荐(0) 编辑
摘要: 题意(真坑):傻国王只会求和,以及比较大小。阴谋家们想推翻他,于是想坑他,上交了一串长度为n的序列a[1],a[2]...a[n],国王作出m条形如(a[si]+a[si+1]+...+a[si+ni])>k(或n还是cnt[]>(n+1)。2、差分约束求解的是>=以及(或k等价于>=(k+1)。 1 #include 2 #include 3 #include 4 #include 5 #define rep(i,a,b) for(int i=a;iq;36 clr(cnt,0);37 rep(i,0,n){38 d[i]=0;39 inq[i... 阅读全文
posted @ 2013-08-23 13:30 Thousand Sunny 阅读(271) 评论(0) 推荐(0) 编辑
摘要: 做的第一道差分约束的题目,思考了一天,终于把差分约束弄懂了O(∩_∩)O哈哈~题意(略坑):三元组{ai,bi,ci},表示区间[ai,bi]上至少要有ci个数字相同,其实就是说,在区间[0,50000]上,每一个三元组表示[ai,bi]之间至少要标记ci个数字,问至少要标记多少个数字。在学习差分约束的童鞋,建议看一下:09年姜碧野的《SPFA算法的优化及应用》,06年冯威的《浅析差分约束系统》,不过后者看起来较难搞懂,也可以看http://ycool.com/post/m2uybbf写的很不错。这里写一下我自己的一点心得:1、差分约束求的是什么? 这里分为两种:求值,判环。 求值:如这道.. 阅读全文
posted @ 2013-08-23 13:07 Thousand Sunny 阅读(417) 评论(0) 推荐(0) 编辑