摘要: 首先建立源点和汇点,然后建一个辅助源点,让源点和辅助源点之间连一条流量为$k$,费用为$1$的边,表示最多增广$k$次。 接下来对于那些和总部联通的人,流量即为最大传递消息数量,费用为这次的安全程度。 对于任意$2$个能联系的人,按照相同的方法处理。 那些和敌军情报部门能联系的人和汇点连边,流量为$ 阅读全文
posted @ 2020-06-05 14:46 SsssssskyLight 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 考虑怎么样构成一张等价的图。 对于一个点,如果这个点有必须点,就在这个点和必须点之间连一条流量为$\infty$的边,这样就保证了选择这个点的同时必然会选择这个点的必须点。 然后考虑那些价值为正的点,我们让源点和它连一条流量为该点价值的边,然后考虑价值为负的,让这个点和汇点流一条流量为这个价值的绝对 阅读全文
posted @ 2020-05-31 09:25 SsssssskyLight 阅读(119) 评论(1) 推荐(0) 编辑
摘要: 善意的投票: 因为只有$2$种意愿,不妨让想睡午觉的和源点连边,让不想睡午觉的和汇点连边。对于每一对好朋友,在他们之间连边。那么只要源点和汇点还联通,就存在一对好友是冲突的,我们现在要做的就是删去最少的边,使得源点和汇点孤立,问题转化为最小割,用最大流求解即可。 #include <bits/std 阅读全文
posted @ 2020-05-29 21:07 SsssssskyLight 阅读(113) 评论(0) 推荐(0) 编辑
摘要: 因为一个点的贡献只能算一次,把点拆成2个点即可,连一条流量为$1$,费用为这个点的值,然后再连一条流量为$+\infty$,费用为$0$的边,接下来对于每个点向它下方和它右方的点连一条流量为$+\infty$,费用为$0$的边即可。算最大费用,边权取反。 阅读全文
posted @ 2020-05-25 18:10 SsssssskyLight 阅读(83) 评论(0) 推荐(1) 编辑
摘要: 裸的最小割,转化成最大流即可。 阅读全文
posted @ 2020-05-18 15:11 SsssssskyLight 阅读(111) 评论(0) 推荐(1) 编辑
摘要: a 阅读全文
posted @ 2020-05-18 14:19 SsssssskyLight 阅读(131) 评论(2) 推荐(1) 编辑