摘要: 嘟嘟嘟 费用流入门题。 其实我也不知道为啥是费用流,不过因为学费用流的时候推这题了我才能想到。 因为每一条路只能走一次,所以容量设为1,路径长度作为费用。 然后从源点向1号节点连一条容量为2,费用为0的边;从$n$号节点向汇点连一条容量为2,费用为0的边。 跑最小费用流即可。 #include<cs 阅读全文
posted @ 2018-11-23 22:26 mrclr 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 没错,我开始学费用流了! 做法也是比较朴素的$spfa$。 就是每一次以费用为权值跑一遍$spfa$找到一条最短路,然后把这条道全流满,并把这一次的流量和费用累加到答案上。因此我们需要记录路径。 就这样一直跑直到没有增广路为止,然后好像就没了。(不难啊……) 因为每一只找一条道,所以其实挺慢 阅读全文
posted @ 2018-11-23 20:06 mrclr 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 洛谷题面 看到比值,就能想到01分数规划。 令$x = \frac{\sum}{\sum}\(,变一下:\)\sum{m_i - n_i * x} = 0$。但是建图我就是看题解的了。 我们把每一条边也看成一个点,从源点想这个点连一条边权为$1$的边,然后对于这条边连接着的节点$u, v$, 阅读全文
posted @ 2018-11-23 17:48 mrclr 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 昨天我看到的这道题,今天终于A了。 写这道题的时间其实并不长,主要是我为这题现学了一个半平面相交(虽然是$O(n ^ 2)$的……) 思路说难也不难,关键是第一步的转化得想到。 首先可以肯定的是两圆要离得尽量远。 把每一条边向内移动$r$的距离,得到一个新的比原来小的凸包,那么这个凸包表示的 阅读全文
posted @ 2018-11-23 15:12 mrclr 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 也是一道半平面相交板子题。 比较好的处理方法是先把原图形全部加入答案,然后在一条边一条边切。 然而第一个点全网(当然包括我)都没过,我最后也只能固输了…… #include<cstdio> #include<iostream> #include<cmath> #include<algorit 阅读全文
posted @ 2018-11-23 11:57 mrclr 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 本来我要写feng shui这道题的。然后网上都说什么半平面相交,于是我还得现学这个东西,就来刷这道模板题了。 所谓的半平面相交和高中数学的分数规划特别像。比如这道题,把每一条边看成一条有向直线,则合法的范围都是直线的右半部分,最后求交集。大概是每一次都取一半,所以就叫半平面相交吧。 $O( 阅读全文
posted @ 2018-11-23 11:53 mrclr 阅读(323) 评论(0) 推荐(0) 编辑