二分图匹配
stargazer.
夜を穿つの
展开
-
【Codeforces 590 E】Birthday(AC自动机 / 二分图匹配)
传送门 建出AcAcAc自动机后即可求出串和串之间的偏序关系 建成一个DAGDAGDAG 然后做一次最长反链并输出方案即可 #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb push_back #define pii pair<int,int&g...原创 2020-04-23 11:10:39 · 273 阅读 · 0 评论 -
【BZOJ #2034】 [2009国家集训队]最大收益(贪心 / 匈牙利算法)
传送门 显然贪心把权值最大的先要了一定最优 考虑把需要的时间离散化出来 就相当于做一个最大匹配 每个点连向的时间是一个区间 如果有冲突把rrr更大拿去匹配显然更可行 具体实现可以看代码 #include<bits/stdc++.h> using namespace std; #define cs const #define re register #define pb push_bac...原创 2020-02-13 22:45:52 · 236 阅读 · 0 评论 -
【LOJ #6062】「2017 山东一轮集训 Day2」Pair(霍尔定理+线段树)
传送门 霍尔定理就是对于二分图的完美匹配 一定有一边的任意一个子集SSS 向另一边的相连的集合大小>=∣S∣>=|S|>=∣S∣ 于是把BBB排序后 连的一定是一个后缀 用线段树维护每个点及以后连了多少条边 那么必须满足vi−i>=0v_i-i>=0vi−i>=0 线段树维护即可 #include<bits/stdc++.h> using name...原创 2020-02-07 19:28:51 · 312 阅读 · 0 评论 -
【BZOJ5335】【TJOI2018】—智力竞赛(floyd传递闭包+二分图匹配)
传送门 可以二分变成直接求最大链覆盖,因为可以重复经过一个点 floydfloydfloyd传递闭包就可以了 #include<bits/stdc++.h> using namespace std; #define ll long long inline int read(){ char ch=getchar(); int res=0,f=1; while(!isdigit(ch...原创 2019-02-22 17:56:12 · 174 阅读 · 0 评论