摘要: 嘟嘟嘟 这几天刷最大流和最小割,正好某谷推荐了这道题,就顺便AC了一下。 好水。 建立源点和汇点,对于每一个能提供床位的同学,就从源点向该同学连一条容量为1的边;对于每一个需要床位的同学,就向汇点连一条容量为1的边。因此将每一个同学拆点。 接下来考虑同学之间的关系:如果x和y互相认识,就连一条(x, 阅读全文
posted @ 2018-09-25 19:02 mrclr 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 看到这题目如果想费用流的话就gg了,就像LCA这道题一样,不要被题目迷惑…… 我们考虑Bob,他想让总费用最大,那么他的所有费用一定都加到流量最大的那一条边上。而Alice想让总费用最小,那么就是让流量最大的那一条边最小,自然就想到二分边的容量啦! 不过这道题特殊的地方是要实数二分。其实终止 阅读全文
posted @ 2018-09-25 18:00 mrclr 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 因为如果能跳x支舞曲,那么一定能跳y(y < x)支舞曲,满足单调性。因此可二分舞曲。 那么网络流建图就明白了:把每一个男生拆成3个点,分别是男生总,男生喜欢的,男生不喜欢的。然后从源点向男生总连一条容量为x的边,从男生总向男生喜欢的连一条INF的边,向男生不喜欢的连一条k的边。女生同理。 阅读全文
posted @ 2018-09-25 17:20 mrclr 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 这明显就是一道树剖的水题~~~ install操作就是查询x到根节点的路径中0的个数,并且每一个节点的权值都改成1. uninstall就是查询x的子树中1的个数,并都改成0. 有一个优化就是install操作中如果当前区间已经有1了,就可以不用往上查,直接返回。因为从题中可以得到一个信息, 阅读全文
posted @ 2018-09-25 16:14 mrclr 阅读(172) 评论(0) 推荐(0) 编辑
摘要: 嘟嘟嘟 很显然是一道最小割模型。 做完几道题后。图的大概就能想出来了: 1.对于每一个动物,如果是0,就和s连一条边,否则向t连一条边。 2.对于每一个任务,题中要求最大利润,可以转化成最小损失。 (1)如果都要变成1,就向汇点连一条w +g(如果有的话)的边;否则从源点连一条w +g的边。接下来 阅读全文
posted @ 2018-09-25 14:29 mrclr 阅读(476) 评论(0) 推荐(0) 编辑