摘要: http://poj.org/problem?id=3177先找双连通分量缩点,然后找桥重新构图成树,然后找树的叶子节点答案是:(树的叶子节点+1)/2顺便附上双连通分量的模板 1 //#pragma comment(linker, "/STACK:102400000,102400000") 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #include 9 #include 10 #include 11 #include 12 #include 13 #include 14 #inc 阅读全文
posted @ 2013-08-17 19:50 xysmlx 阅读(209) 评论(0) 推荐(0)
摘要: http://poj.org/problem?id=1904方法同HDU 4685 2013多校8 1010,只是那道题需要自己找匹配,这道题已经给定了匹配了。根据初始给定的匹配直接找强连通分量,在同一强连通分量的人可以配对。这题试了一下std::ios_base::sync_with_stdio(false);,加了这句cin比scanf竟然还快。。。。。。 1 //#pragma comment(linker, "/STACK:102400000,102400000") 2 #include 3 #include 4 #include 5 #include 6 #inc 阅读全文
posted @ 2013-08-17 17:59 xysmlx 阅读(196) 评论(0) 推荐(0)
摘要: http://acm.hdu.edu.cn/showproblem.php?pid=4685先找最大匹配数ret然后把将n这一边的大于n的m-ret与m这一边的n+m-ret边连起来,将n这一边的n+m-ret与m这一边的大于m的n-ret连起来,做最大匹配,得到一个匹配然后根据这个匹配找强连通分量,属于同一强连通分量的priceness和price可以任意配同一强连通分量的所有priceness可以给同一强连通分量的price。用hopcroft-karp算法890ms,用匈牙利算法2656ms。。。顺便在代码中附上hopcroft-karp算法和找强连通分量的模板~ 1 /** 2 *.. 阅读全文
posted @ 2013-08-17 14:31 xysmlx 阅读(353) 评论(0) 推荐(0)