2017年2月13日

二分图的最大匹配、完美匹配和匈牙利算法

摘要: 转载:http://www.renfei.org/blog/bipartite-matching.html 这篇文章讲无权二分图(unweighted bipartite graph)的最大匹配(maximum matching)和完美匹配(perfect matching),以及用于求解匹配的匈牙 阅读全文

posted @ 2017-02-13 12:23 ivancjw 阅读(171) 评论(0) 推荐(0) 编辑

二分图最小顶点覆盖与最大匹配

摘要: 二分图最小顶点覆盖等价于最大匹配,最大二分匹配问题可以使用匈牙利算法求解。 证明(lrj书): 比如最大匹配是M。为了求最少的点让每条边都至少和期中一个点关联。 (1)M个点是足够的。就是说他们覆盖最大匹配的那M条边后,假设有某边e没被覆盖,那么把e加入后会得到一个更大的匹配,出现矛盾。 (2)M个 阅读全文

posted @ 2017-02-13 11:54 ivancjw 阅读(964) 评论(0) 推荐(0) 编辑

2017年2月11日

[TC SRM 685 div1 lev1] MultiplicationTable2

摘要: 转载: https://www.linkedin.com/pulse/topcoder-685-multiplicationtable2-yingwu-zhu Note: 生成封闭集合方式。 ProblemFox Ciel is creating a new binary operation.The 阅读全文

posted @ 2017-02-11 21:38 ivancjw 阅读(244) 评论(0) 推荐(0) 编辑

[TC SRM 708 div2 lev3] PalindromicSubseq2

摘要: 1 #include 2 3 using namespace std; 4 5 typedef long long LL; 6 7 const int MOD = 1e9 + 7; 8 9 class PalindromicSubseq2 { 10 public: 11 int solve(string s) { 12 int n = s.si... 阅读全文

posted @ 2017-02-11 20:17 ivancjw 阅读(267) 评论(0) 推荐(0) 编辑

KMP预处理

摘要: 1 vector calPrefix(string &p) { 2 int n = p.size(); 3 vector q(n + 1); 4 q[1] = 0; 5 int k = 0; 6 for (int i = 1; i 0 && p[i] != p[k]) k = q[k]; 8 if (p[i] == p[k]... 阅读全文

posted @ 2017-02-11 18:16 ivancjw 阅读(246) 评论(0) 推荐(0) 编辑

导航