随笔分类 - 题解。蒟蒻
摘要:继续是最小权值环覆盖。注意的是边为双向。#include #include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i<=r; i++)#defi...
阅读全文
摘要:最小权值环覆盖:拆点思想+求最小转求最大+KM算法#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'9') { if (ch=='-') f=-1; c...
阅读全文
摘要:最小权值环覆盖问题:用几个环把所有点覆盖,求所选取的边最小的权值之和。拆点思想+求最小转求最大+KM算法#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i...
阅读全文
摘要:KM模版题。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'9') { if (ch=='-') f=-1; ch=getchar(); } whil...
阅读全文
摘要:KM模版题。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'9') { if (ch=='-') f=-1; ch=getchar(); } whil...
阅读全文
摘要:简单几何题。。。用个栈维护当前可见直线,然后通过判断三直线的交点的左右即可进行选择。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'...
阅读全文
摘要:对于每一个时间区间(共N^2个)我们都做一次最短路,然后DP。#include #include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'9') { if (c...
阅读全文
摘要:这道题是最小割,但是由于图的特殊性及数据范围,这道题只能用最短路做。Dijkstra+堆,112ms。【顺便说一下BZOJ的尿性,我是MLE了却硬显示是TLE,害的我。。。】#include #include #include #include #include #include #include ...
阅读全文
摘要:数据较大,用成Hopcroft-Karp算法更合适。其实Hopcroft-Karp算法就是一开始通过DFS预处理出Dist标号,然后利用Dist标号实现同时查找多条最短增广路的目的。#include #include #include #include #include #include #incl...
阅读全文
摘要:题意一开始是理解错的。。。结果就各种WA啦~对于两个观众,假如有某只宠物,一个人讨厌另一个人却喜欢,这两个人就是有矛盾的,连边。最后求最小顶点覆盖。因为把这个覆盖点集去掉的话剩下的图中没有两个点是相连的。由于不可能有奇数环的出现,总点数减去最大匹配就是答案了。最小顶点覆盖=总点数-最大匹配(无奇数环...
阅读全文
摘要:给定一个有向无环图【DAG图】 求最小路径覆盖。。。每个店出入分离成两个点,然后求二分图的最大匹配,最小路径覆盖=总点数-最大匹配数#include #include #include #include #include #include #include #define rep(i, l, r) ...
阅读全文
摘要:相邻空格连边,求最大匹配。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'9') { if (ch=='-') f=-1; ch=getchar();...
阅读全文
摘要:两组牌中两张牌相比能赢的就连,后求最大匹配。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i'9') { if (ch=='-') f=-1; ch=g...
阅读全文
摘要:给定各个宝物的多个守卫点,求最少移走宝物个数。假如某个宝物的守卫点位于另一个宝物的位置上,则两者只能选其一,于是连边,求二分图的最小顶点覆盖。(可证明图内无奇数环)//#include #include #include #include #include #include #include #de...
阅读全文
摘要:二分答案,对于当前答案Ans,求出某些人类可打败某些外星人的对应边,建图后求是否有完备匹配。//#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; ...
阅读全文
摘要:先行列分块,然后对于被强隔开的行列就分成几块,这样每个格依旧对应着行方向上的一块和列方向上的一块。最后行列二分匹配。#include #include #include //#include #include #include #include #define rep(i, l, r) for(in...
阅读全文
摘要:一个点集是学生,一个点集是排名。然后通过学生的排名范围连线,求此二分图的最大匹配。本题还要求是最大字典序输出,那么由贪心可得,你让标号从大到小找增广边就行了。#include #include #include #include #include #include #include #define ...
阅读全文
摘要:这题也是异列异行问题,而且任意输出一个解即可。。。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define N 123using ...
阅读全文
摘要:选取不同列不同行的N个数。。。明摆着叫你二分匹配二分答案,然后枚举边的范围并跑匈牙利,以此判断答案范围。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i...
阅读全文
摘要:先用染色法判断是否存在奇数环,也就是方案是否可行。然后二分匹配。#include #include #include #include #include #include #include #define rep(i, l, r) for(int i=l; i=r; i--)#define N 23...
阅读全文

浙公网安备 33010602011771号