![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
带花树
DZYO
Never stop
展开
-
Ural 1099. Work Scheduling(带花树)
传送门 题解: 用带花树,每次增广找到奇环就合并为一个点并记录下每个点在环上的增广方向。 采用bfs进行增光可保证最高点为花点从而大大降低代码复杂度。采用暴力求lcalcalca的方法时间复杂度为n3n3n^3 (存在复杂度为nmnmnm的算法)。 #include <bits/stdc++.h> using namespace std; const int N=2e2+50; ...原创 2018-03-07 18:55:32 · 288 阅读 · 0 评论 -
UOJ#171. 【WC2016】挑战NPC(带花树)
传送门 题解: 利用奇环的性质来达到二分图中诸如每个点匹配多少个点之后贡献是多少的限制。 因为最大匹配随着点数增加而增加,我们应该想办法使得在特定情况少增加一个。 对于本题每个桶构造一个三角形,每个能放入桶中的球连三个点,发现匹配0,10,10,1个球时这个三角形和与其相匹配的点减去匹配数等于222,否则等于333,很容易就可以列出计算贡献的式子。 由于新图不是二分图,采用带花树解决最大...原创 2018-03-08 15:49:00 · 237 阅读 · 0 评论 -
Codechef :A game on a graph/HAMILG(带花树)
传送门 题解: 一个点满足条件则不在某个最大匹配中。 先求任意一个最大匹配,然后从每个不在匹配中的点再做一次,在队列中的都可以被替换掉。 用带花树即可。 不过带花树的板不能乱改啊,否则容易GG。 #include &lt;bits/stdc++.h&gt; using namespace std; const int RLEN=1&lt;&lt;18|1; inline char nc() { ...原创 2018-10-09 10:35:27 · 249 阅读 · 0 评论