把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end
摘要: 题面传送门 间隔染色然后跑二分图即可。 不得不说$xht37$的数据一点没改可还行 复杂度$O(n\sqrt m)$ 代码实现: #include<cstdio> #include<cstring> #include<queue> #define min(a,b) ((a)<(b)?(a):(b)) 阅读全文
posted @ 2020-07-15 21:57 275307894a 阅读(27) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 这个对于每个边跑拓扑序即可,如果有环那么不可行,如果两个字母拓扑序相同也不可行。 代码实现: #include<cstdio> #include<cstring> #include<queue> #include<algorithm> using namespace std; int n 阅读全文
posted @ 2020-07-15 21:54 275307894a 阅读(47) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 直接建分层图跑$spfa$即可。 注意一些细节即可。 代码实现: #include<cstdio> #include<cstring> #include<queue> #define abs(x) ((x)>(0)?(x):-(x)) #define max(a,b) ((a)>(b)? 阅读全文
posted @ 2020-07-15 21:52 275307894a 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 直接跑二分图最大匹配即可。 关于输出方案看哪条边没有权值就输出两个端点即可。 代码实现: #include<cstring> #include<cstdio> #include<queue> #define min(a,b) ((a)<(b)?(a):(b)) using namespa 阅读全文
posted @ 2020-07-15 21:50 275307894a 阅读(38) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 显然对列数奇偶性染色然后建边跑二分图即可。 注意无法放置点可能重复。 代码实现: #include<cstdio> #include<cstring> #include<queue> #define min(a,b) ((a)<(b)?(a):(b)) using namespace s 阅读全文
posted @ 2020-07-15 21:49 275307894a 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 显然是二分图建模板子题。 观察可得,可以黑白染色建图。 那么从黑格向白格建边跑二分图最小点覆盖即可,注意要用全部点减去最小点覆盖。 代码实现: #include<cstdio> #include<cstring> #include<queue> #define min(a,b) ((a) 阅读全文
posted @ 2020-07-15 21:47 275307894a 阅读(53) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 数据这么小,一看就可以$floyd$ $floyd$外层循环就是允许点转移,那么题目中依次给出允许点转移顺序,那么直接可以做了。 代码实现: #include<cstdio> #include<cstring> #include<algorithm> #define max(a,b) ( 阅读全文
posted @ 2020-07-15 21:44 275307894a 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 题面传送门 一道二分图建模的好题。 题目中要求最少覆盖,很容易想到最小点覆盖,也想到了二分图。 把横竖模板铺出来,可以贪心,一定是延展到最长最优。 那么把图建出来后跑最小点覆盖即可,可以得出最小点覆盖等于最大匹配数。 代码实现: #include<cstdio> #include<cstring> 阅读全文
posted @ 2020-07-15 21:42 275307894a 阅读(47) 评论(0) 推荐(0) 编辑
浏览器标题切换
浏览器标题切换end