摘要:
嘟嘟嘟 刚做费用流,思路完全不对呀…… 应该这么想(应该说敢这么想):这道题的关键在于怎么体现这个玩具是第几个加工的,只有这才能求出他的加工时间(因为加工时间包括等待时间)。 但等待时间不好求,因此要换个思路想:加工这个玩具会对别的玩具的加工时间造成多少影响。 假设三个玩具$i, j, k$依次在同 阅读全文
摘要:
嘟嘟嘟 费用流入门题。 其实我也不知道为啥是费用流,不过因为学费用流的时候推这题了我才能想到。 因为每一条路只能走一次,所以容量设为1,路径长度作为费用。 然后从源点向1号节点连一条容量为2,费用为0的边;从$n$号节点向汇点连一条容量为2,费用为0的边。 跑最小费用流即可。 #include<cs 阅读全文
摘要:
嘟嘟嘟 没错,我开始学费用流了! 做法也是比较朴素的$spfa$。 就是每一次以费用为权值跑一遍$spfa$找到一条最短路,然后把这条道全流满,并把这一次的流量和费用累加到答案上。因此我们需要记录路径。 就这样一直跑直到没有增广路为止,然后好像就没了。(不难啊……) 因为每一只找一条道,所以其实挺慢 阅读全文
摘要:
嘟嘟嘟 洛谷题面 看到比值,就能想到01分数规划。 令$x = \frac{\sum}{\sum}\(,变一下:\)\sum{m_i - n_i * x} = 0$。但是建图我就是看题解的了。 我们把每一条边也看成一个点,从源点想这个点连一条边权为$1$的边,然后对于这条边连接着的节点$u, v$, 阅读全文
摘要:
嘟嘟嘟 昨天我看到的这道题,今天终于A了。 写这道题的时间其实并不长,主要是我为这题现学了一个半平面相交(虽然是$O(n ^ 2)$的……) 思路说难也不难,关键是第一步的转化得想到。 首先可以肯定的是两圆要离得尽量远。 把每一条边向内移动$r$的距离,得到一个新的比原来小的凸包,那么这个凸包表示的 阅读全文
摘要:
嘟嘟嘟 也是一道半平面相交板子题。 比较好的处理方法是先把原图形全部加入答案,然后在一条边一条边切。 然而第一个点全网(当然包括我)都没过,我最后也只能固输了…… #include<cstdio> #include<iostream> #include<cmath> #include<algorit 阅读全文
摘要:
嘟嘟嘟 本来我要写feng shui这道题的。然后网上都说什么半平面相交,于是我还得现学这个东西,就来刷这道模板题了。 所谓的半平面相交和高中数学的分数规划特别像。比如这道题,把每一条边看成一条有向直线,则合法的范围都是直线的右半部分,最后求交集。大概是每一次都取一半,所以就叫半平面相交吧。 $O( 阅读全文
摘要:
嘟嘟嘟 题意:给一堆点,求其中三个点构成的三角形的最大面积。 刚开始不知咋的忘了三角形三条边可能都不在凸包上,然后快速的打了个旋转卡壳结果$WA$了。还是自己太年轻了…… 正解也是旋转卡壳。对于三角形三个点$i, j, k$,$k, j, i$挨个旋转就行啦。 #include<cstdio> #i 阅读全文
摘要:
嘟嘟嘟 这道题我从昨天晚上5点做到今天下午3点半……差点就疯了。 真是一道计算几何好题呀!? 刚开始我以为矩形与坐标轴平行,感觉省选题竟然这么水。但是看完样例后发现我错了…… 首先都知道要求凸包。写代码的时候一定要非常谨慎。对于重合或共线的点都要从栈中弹去,否则在后面的求矩形面积的时候会除以$0$, 阅读全文
摘要:
嘟嘟嘟 一开始就觉得这道题很恶心,但还是硬这头皮做了。 因为$n \leqslant 1000$,所以可以有$O(n ^ 2)$的做法。刚开始我想统计每一个圆盘能覆盖其他圆盘的长度,最后减去。但是这样会有重复统计。后来反过来想,每一个圆盘被覆盖的面积是多少。虽然一个个算也会重复统计,但是如果把每一次 阅读全文