关闭

[数学 二分图匹配] SRM 456 div1 FunctionalEquation

本来想自己再推一下的,但是退役了也就弃坑了 未经允许的搬了搬题人的题解// BEGIN CUT HERE #include #include // END CUT HERE #include #include #include #include #include #in...
阅读(200) 评论(0)

[二分图匹配 线段树] Codeforces 573D Round #318 [RussianCodeCup Thanks-Round] (Div. 1) D. Bear and Cavalry

如果没有限制,显然根据排序不等式 当每个点最多有一个限制不能选的时候,有一个很重要的性质 性质:i对应的点与i的距离<=2 证明: 设有一种情况i对应i+3 i—–(i+3) i+1—(i+2) i+2—(i) i+3—(i+1) 那么,对于i,i+1来说,必定在(i–i+2),(i+1–i+3)中有一个限制必选,否则交换i,i+1更优 同理,(...
阅读(129) 评论(0)

[霍尔定理] AtCoder Regular Contest 076 F Exhausted?

霍尔定理 有完美匹配必然有任意 |S|≤|N(S)||S|\le|N(S)| 那么这题答案就是max{S−|N(S)|}max\{ S-|N(S)|\}我们枚举N(S)N(S),必然是x≤s∨x≥tx\le s \vee x\ge t的形式 那么对其有贡献的ii,满足Li≤s<t≤RiL_i\le s< t\le R_i 直接扫描线注意特殊讨论N(S)N(S)是全集的情况 这样的话不用满足Li...
阅读(251) 评论(0)

[最大团 随机化 || 二分图最大独立集] BZOJ 4080 [Wf2014]Sensor Network

最大团这种数据范围,标算只有被随机艹的节奏了吧正解 抄自这里 我们穷举两个点,这两点距离要小于限制 然后我们分别以这两个点为圆心,两点距离为半径画圆 圆圆相交的部分被两点练成线段划分成两部分,不难发现 每个部分内点点之间的距离是小于限制的,很明显想到二分图 对于上半部分与下半部分的两点,如果距离大于限制则连边 然后我们求最大点独立集即可 #include<cstdi...
阅读(220) 评论(0)

[扫描线 二分图最大匹配 线段树优化网络流] Codeforces 793G Tinkoff Challenge - Elimination Round G. Oleg and chess

这个我们首先可以转化成一个二分图最大匹配的模型 但是肯定跑不出 首先扫描线 把free的格子剖成O(n)O(n)个矩形 对两边都建成线段树 每个矩形对应两边各O(logn)O(\log n)个点 两两相连 总边数O(nlog2n)O(n\log^2n)#include #include #include #include<cstrin...
阅读(233) 评论(0)

[状压DP Hall定理 折半] Codeforces Gym 101173 CERC 16 B & BZOJ 4788 Bipartite Blanket

有印象这是JZOJ某次的题 但是当时不会做 还是直接搬题解吧首先是hall定理 他有个推论是正则二分图一定有完美匹配 当然这个跟本题不相关 Hall’s marriage theorem gives a necessary and sufficient condition for existence of a matching that covers a set of nodes...
阅读(257) 评论(0)

[欧拉回路 KM] AOJ 2724 Laser Cutter

存在一种方式等价于存在欧拉回路 对于有向图即入度=出度 所以对所有的线段的起点与终点按距离进行最小权匹配即可#include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) #define read(x) scan...
阅读(150) 评论(0)

[二分图博弈] BZOJ 1443 [JSOI2009]游戏Game & BZOJ 2437 [Noi2011]兔兔与蛋蛋

二分图博弈考虑这样一类博弈问题 博弈状态可分为两类 即状态空间可分为两个集合 对应二分图X集和Y集 任意合法的决策使状态从一类跳转到另一类 可以用二分图描述 不可以转移至已访问的状态 无法转移者判负。 问题转化从二分图指定起点开始轮流沿着边移动 不可重复访问点 无法移动判负。不妨设起点s∈Xs\in X 考虑该二分图的某个最大匹配 若ss不属于某个最大匹配 则先手所转移到的点y∈Yy\in Y一定...
阅读(121) 评论(0)

[欧拉回路 二分图] CEOI 2005 Day1 Depot Rearrangement

论文:仇荣琦《欧拉回路性质与应用探究》 #include #include #include using namespace std; typedef pair abcd; inline char nc(){ static char buf[100000],*p1=buf,*p2=buf; if (p1==p2) { p2=(p1=buf)+fr...
阅读(167) 评论(0)

[DP 匈牙利 最小链覆盖] BZOJ 2044 三维导弹拦截 & 计蒜客 271 拦截导弹

第一问就是偏序最长链 按一维排序然后DP即可 第二问是个最小链覆盖 那么转化为二分图 n-最大匹配 BZOJ上一个匈牙利就过了 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline char nc(){ static ch...
阅读(133) 评论(0)

[二分图 dfs 打标记] BZOJ 4424 Cf19E Fairy

二分图不能有奇环 那么这条边一定在奇环的交上 还不能在偶环上 因为偶环和奇环会组成新的奇环 那么给奇环打+1标记 偶环打-1标记 标记为奇环个数的边即可 这种打标记的树D方法比较重要 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; inline...
阅读(261) 评论(0)

[二分图最大匹配必配点] BZOJ 3546 [ONTAK2010]Life of the Party

%%%dyh 首先求出最大匹配,下面考虑左边点的情况。 我们将匹配中的边从右往左连,不在匹配中的边从左往右连。 这个时候一条增广路成为一条连续的路径。 从每个左边未匹配的点还是遍历,如果被一个左边的点被访问到,说明存在一条增广路,也就是不一定在最大匹配中。 所有没有被访问到的点一定在最大匹配中。 #include #include #include #inc...
阅读(308) 评论(0)

[二分图匹配 贪心] BZOJ 4276 [ONTAK2015]Bajtman i Okrągły Robin && BZOJ 2034 [2009国家集训队]最大收益

%%%dyh 按强盗从大到小排序,贪心选取每个强盗能不能抓。 判断一些强盗能不能抓完,可以按左端点排序,使用优先队列维护右端点。 贪心算法的正确性: 考虑匈牙利算法,从大到小一个一个匹配,一个点一旦在匹配中,那么一直在匹配里面。 也可以直接用拟阵证明 但我不会 堆的复杂度是n2logn 有线性的判断方法 我们从小到大扫描所有的位置,如果这个位置没有分配任务,那么...
阅读(356) 评论(0)

[KM 树同构Hash DP] BZOJ 3197 [Sdoi2013]assassin

丢下题解跑:http://blog.csdn.net/PoPoQQQ/article/details/43206463 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef unsigned long long ull; inline c...
阅读(209) 评论(0)

[对偶 KM算法 生成树 || 最大费用可行流 || 线性规划] BZOJ 1937 [Shoi2004]Mst 最小生成树

树边减,非树边加,wi表示i号边原来的边权,di表示i号边的改变量 对于一条非树边,覆盖所有树边,都要满足:wi−di≤wj+dj 得wi−wj≤di+dj 这样的话d就是KM算法里的顶标 跑最大匹配即可 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace...
阅读(296) 评论(0)

[最小乘积匹配 分治 KM] BZOJ 3571 [Hnoi2014]画框

类似最小乘积生成树的做法 详见另一文:http://blog.csdn.net/u014609452/article/details/51822880 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; typedef pair abcd; inlin...
阅读(167) 评论(0)

[KM算法] BZOJ 2539 [Ctsc2000]丘比特的烦恼

这就很裸了 只是坑点实在多 坐标有实数 字串大小写 不可连的边设为-inf 貌似题目保证有完备匹配? #include #include #include #include #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) using namespace std; const int...
阅读(465) 评论(0)

[二分图完美匹配必要边 强连通分量] BZOJ 2140 稳定婚姻

求二分图完备匹配的必要边,①存不存在增广环? O(N^2) ②直接试着删去按照hungery找完备匹配 O(N^3)。 如果一个点所在的强连通分量大小大于1,那么说明原图存在一条匹配边-非匹配边-匹配边-非匹配边的环,所以这些边不一定在最大匹配上。 #include #include #include #include #include #define V G[p].v using...
阅读(256) 评论(0)

[二分图 费用流] BZOJ 4514 [Sdoi2016]数字配对

不会有奇环,那么就建二分图 然后跑最大费用流,直到费用小于零为止,处理下零头 #include #include #include #include #define cl(x) memset(x,0,sizeof(x)) #define oo 1LL<<60 #define V G[p].v using namespace std; typedef long long ll; inl...
阅读(317) 评论(0)
    个人资料
    • 访问:264075次
    • 积分:11943
    • 等级:
    • 排名:第1328名
    • 原创:969篇
    • 转载:3篇
    • 译文:0篇
    • 评论:50条
    最新评论