传送门 分析 权值不同点之间连权值为1的边 起点向每个1,每个0向终点也连权值为1的边 跑最小割即可 代码 ...
分类:
其他好文 时间:
2019-03-13 23:07:45
阅读次数:
274
直接是最小割啊 设最终还和$S$相连表示睡觉,和$T$相连表示不睡觉 如果这个人想睡觉,那么就从源点向它连$1$的边,表示割掉这条边选择不睡觉的代价为1 如果这个人不想睡觉的话,就向汇点连一条$1$的边,表示选择睡觉的代价是$1$ 对于朋友关系的话之间连边就好了,可以使得这两个人在选择不同的时候必须 ...
分类:
其他好文 时间:
2019-01-01 21:05:08
阅读次数:
121
$CDQ$ 分治的神奇操作 这个问题跟偏序问题好像差的不小啊 但是就是可以转化过去 对于一个查询我们可以把它拆成四个,也就是用二维前缀和的方式来查询 我们发现其实前缀和的定义就是多少个点的横纵坐标都小于这个点 典型的偏序问题 于是直接上$cdq$了 代码 include include includ ...
分类:
其他好文 时间:
2019-01-01 21:03:03
阅读次数:
167
思路 其实是cdq的板子 题目要求询问对于每个给出的xi,yi,xj,yj形如xi include include using namespace std; const int MAXL = 1e7+5; const int MAXN = 500100; int n,m,ans[MAXN 5],qi ...
分类:
其他好文 时间:
2018-12-14 12:46:43
阅读次数:
147
嘟嘟嘟 看数据范围,加上题中频繁提到的冲突,就可以想到算法是最小割。 1.同意睡觉的,源点就像他连一条容量为1的边。割掉它就代表他背叛了自己的意愿。 2.同理,不同意睡觉的,就像汇点连一条边。 3.考虑每一对朋友。如果两个朋友意见相反,就互相连一条容量为1的边,割掉其中的任意一条就代表朋友之间发生了 ...
分类:
其他好文 时间:
2018-09-24 21:23:37
阅读次数:
187
#include #include #include #include #include using namespace std; const int N=3e6+5; const int M=1e7+5; inline int read() { char c=getchar();int num=0... ...
分类:
其他好文 时间:
2018-09-12 12:02:38
阅读次数:
167
Tree 园丁的烦恼 bzoj-1935 Shoi-2007 题目大意:给定平面上的$n$个点,$m$次查询矩形点个数。 注释:$1\le n,m\le 5\cdot 10^5$。 想法:静态二维数点。 $Orz Winniechen$,真tm敢写$KD-Tree$,虽然$T$了.. 正常这种静态的 ...
分类:
编程语言 时间:
2018-08-28 23:48:03
阅读次数:
227
2341 善意的投票 2007年省队选拔赛上海市队选拔赛 2341 善意的投票 2007年省队选拔赛上海市队选拔赛 时间限制: 5 s 空间限制: 128000 KB 题目等级 : 大师 Master 时间限制: 5 s 空间限制: 128000 KB 题目等级 : 大师 Master 时间限制: ...
分类:
其他好文 时间:
2018-08-25 21:19:24
阅读次数:
160
二者取其一,就是一堆物品,放入两个集合内,放进不同的集合内就会有不同的收益(或代价),使其收益(代价)最大(最小)的一种问题 通常这类问题,使用最小割定理解决。 最小割,即割边集中权值之和最小的一个集合 比如这道题 "[SHOI2007]善意的投票" 是一道这样类型的题。 我们将$S$点设为同意睡觉 ...
分类:
其他好文 时间:
2018-07-29 22:33:54
阅读次数:
195
https://www.lydsy.com/JudgeOnline/problem.php?id=1934 https://www.lydsy.com/JudgeOnline/problem.php?id=2768 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉。对他们来说,这个问题并不是很重要, ...
分类:
其他好文 时间:
2018-05-19 16:59:21
阅读次数:
164