最短路
文章平均质量分 54
getupdown
这个作者很懒,什么都没留下…
展开
-
The Ninja Way POJ3815 (差分约束系统)
就是一个忍者,要从最矮的树,依次跳过N-1颗到最高的树,一次跳跃水平距离不得超过D,现在给了所有树的高度,以及他们的相对位置,问如何摆树,让最高树和最矮树距离最大。思路: 差分约束系统,设dis[i]表示树i的距离,这里的不等式有如下: ①首先树不要按高度排序,两两之间坐标不可重合,且保持相对位置。 ②然后树按高度排序,两两之间距离不可超过D。然后 最高树在最矮树的左边或右边 两种情况不太原创 2016-08-27 23:33:49 · 509 阅读 · 0 评论 -
hdu 3666 THE MATRIX PROBLEM (差分约束系统)
首选把不等式改写一下,对于元素 Xij L<=Xij*ai/bj<=U 这里是乘法,但是差分约束系统需要加法,所以就取个对数,这样不等式就有了。这里的数据量比较恐怖,用bellman-ford是要超时的。 这里我用了spfa,然后一个点入队伍超过sqrt(n+m)次(注意转换double),就说明有环。 正常情况下应该是超过n+m次才可判定,但是这里我看网上题解,大多都说sqrt就够了。原创 2016-08-27 23:38:12 · 443 阅读 · 0 评论 -
Word Rings POJ2949 (Bellman-ford算法,找平均值最大的环)
题意本身比较简单,就是找一个平均值最大的环。 在做这个题之前,我们先解决一个问题,如何找到一个平均值最小的环。设有一个环中,有k 个点,那么这个环的平均权值X是: X=(w1+w2+w3+,..,,,wk)/k 然后我们把k乘过去:(w1+w2+…..wk)=kXBellman_ford算法的一个重要作用是判断负圈,所以这个题可以利用这个特点来做。 再把(w1+w2+…..wk)=kX处理一原创 2016-08-23 23:42:27 · 978 阅读 · 0 评论 -
POJ 1364 King (差分约束系统)
题意大致是:给你一些关于一个数列的条件,问你这样的数列是否存在。比如a[k]+...a[k+ni-1]>x 或者 a[k]+...a[k+ni-1] 思路:直接表达成前缀和,这样就会出现形如 d(v)(因为只要判断有没有负圈,所以不用超级源点) #include #include #include #include #include #include using namespa原创 2016-08-23 23:53:06 · 226 阅读 · 0 评论 -
Adventure of Super Mario UVA10269(floyd+dijstkra+动态规划)
题目大意就是:马里奥有个可以用K次的魔法鞋,然后每次魔法鞋可以穿过不超过L米,并且不可以穿过城堡,问最短时间。 思路:用dp[i][j]表示,到第i个点,还剩j次魔法鞋使用机会的最小时间。 这里预处理是用Floyd做的,floyd的本质就是枚举一个中间点,然后再枚举两边,所以只要中间这个k是城堡就直接跳过,不是的话就跑floyd。 #include #include #inc原创 2016-08-24 00:00:18 · 463 阅读 · 0 评论 -
2016ICPC青岛网络赛 1011
先用BFS过滤出最短路中的路径,然后最小割最大流定理。 #include #include #include #include #include #include #include #define PII pair using namespace std; const int maxn=1200; struct Edge { int from,to,cap,flow,residual;/原创 2016-09-17 18:20:32 · 563 阅读 · 0 评论