hdu 3657 最小割(牛逼!!!!)总算理解了,必看!!!!!!!!!!!!!

来源:互联网 发布:ae cs6 mac 破解 编辑:程序博客网 时间:2024/06/12 01:41
<strong></strong>
转载:http://blog.csdn.net/me4546/article/details/6662959
加颜色的太棒了!!!
在网上看到的一句话恍然大悟啊,建立一个最小割模型之后,假设x点与源点是连着的,说明你是把x点给取到手了,不连,说明你是把x点去除之前一直不太明白边的容量是怎么来确定的,现在知道了,方格取数是相邻两个不能取,假设x,y是相邻的两点,他们直接建无穷大的边的原因就是:假设你最后把x,y都取来了,那么x和y的这条边就是一条割边,最小割是一定要把这条割边去掉的,去掉的代价就是该边的权值,试想如果这条边是无穷大的,程序会来割这条边吗?显然不会!所以这样就保证了x,y是不会同时被取到的。而这题相邻的可以取,只不过要额外的代价,还是假设x,y都取来了,那么这时候x,y边就是割边,程序会把它割掉,所以该边容量不是无穷大,而是相应的代价,至于后面的一定要取的几个点,只需要把他们和源点或汇点的容量设为无穷大,这样程序一定不会去割这条边,最后的结果就是这些点都留下来了,也就是都取了!
0 0