题解:这个模型很水,不需要极角序神马转对偶图,直接乱搞就行。
然后目的是把图割开,那么只需要跑S->T最短路就行。
要做平面图转对偶图不妨去这篇。
【BZOJ2965】保护古迹
平面图转对偶图,暴力,网络流
还有就是某人说堆很快233,我弱弱的优先队列竟然,嘿嘿。
@jiangyuze831
BZOJ
2007 NOI 2010 海拔 平面图最小割->最短路SPFA...
分类:
其他好文 时间:
2015-01-30 09:07:55
阅读次数:
217
一开始就知道是最小割模型,然后开始乱搞建图,发现自己想错了。。。Orz PoPoQQQ,还给蒟蒻提供了很多帮助! 1 /************************************************************** 2 Problem: 2039 3 ...
分类:
其他好文 时间:
2015-01-30 00:01:46
阅读次数:
281
题解:
如果i、j不能共存,那么就中间连一条边,然后i连源流量b[i],j连汇流量b[j],就可以满足性质。
但是问题是哪个点连源,哪个点连汇呢?
这种做法需要图是二分图,这样某些点就可以只连源,某些点只连汇。
当且仅当这种情况才可以有上述建图。
而这道题有个很好的性质:
任意两个奇数肯定满足条件一(把奇数看成2k+1,然后最后形式是2*奇数),
任意两个偶数...
分类:
其他好文 时间:
2015-01-29 17:48:32
阅读次数:
121
题目大意:给出一个平面图,这个平面图中分布着一些点,可以用平面图中的边将一些点围住,问围住k个点的最小花费是多少。
思路:这题重点是平面图转对偶图。做法不难理解。先将所有的边拆成两条,枚举所有的边,若这个边没有被标记过,那么就对这条边进行搜索,弄出来以这个边为一边的平面区域,可以顺时针或者逆时针。将所有边挂在这条边的起点上,在所有点上按照每条边的极角排序,每次找的时候找大于(或小于)当前...
分类:
其他好文 时间:
2015-01-28 09:57:22
阅读次数:
358
题意:自己看去吧。
题解:如果不考虑这道题的某些小数据范围,
那么正解应该是:
首先平面图转对偶图,
然后扫描线处理名胜古迹
过程中运用到邪恶的平衡树(就算是set也依然恶心)
或者用神奇方法Ⅰ判断(cheat)一个名胜古迹在哪些域里面
[注: 域]:就是一些线段围起来的一块啦。
然后用神奇方法Ⅱ(cheat
然后是裸最小割噗。
所幸:
一、
名胜古...
分类:
其他好文 时间:
2015-01-28 09:57:01
阅读次数:
621
题解:
水题,经典模型是两个在一块会损失,显然很好做。
这个同样很好做,就是黑白染色,然后某种颜色该连S集的连T,该连T的连S。
代码:
#include
#include
#include
#include
#include
#define N 10100
#define M 200000
#define P 105
#define inf 0x3f3f3f3f
usi...
分类:
其他好文 时间:
2015-01-28 09:56:22
阅读次数:
170
海岸线
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 161 Accepted Submission(s): 90
Problem Description
欢迎来到珠海!
由于土地资源越来越紧张,使得...
分类:
其他好文 时间:
2015-01-28 09:53:08
阅读次数:
227
Pleasant sheep and big big wolf
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 2254 Accepted Submission(s): 946
Problem Descriptio...
分类:
其他好文 时间:
2015-01-27 18:36:06
阅读次数:
235
题目大意:给定一个m*n的矩阵,每个位置如果作为商业区或者工业区各有一个收益,如果相邻两块是不同的也会有一个收益,求最大收益
吐槽:住宅区呢- - 地理老师骗我们- -
普通的最小割建图会遇到一个问题:
割断两块之间的边收益为正,即代价为负
因此我们如果正常建最小割,那么两块之间的边权就会是负的
那么我们将这个矩阵黑白染色,将白格ST反向
这样割断两块之间的连边相当于两块选择了同一用途...
分类:
其他好文 时间:
2015-01-27 18:24:04
阅读次数:
218
题目大意:给定一个图,多次询问有多少个点对之间的最小割小于等于某个值
最小割分治- -
首先朴素的想法是做O(n^2)遍网络流 但是这样显然是过不去的
根据一些结论,最小割最多有n-1个,这n-1个最小割构成一个最小割树
别问我为什么- -
因此我们分治寻找这n-1个最小割
每层分治,先任选两个点作为源汇做一遍最小割
然后找出S集和T集,对所有S集的点和T集的点构成的点对用本次得到的...
分类:
其他好文 时间:
2015-01-27 15:03:13
阅读次数:
168