zoukankan      html  css  js  c++  java
  • Optimal Marks SPOJ 839

     

    这题远超其他题非常靠近最小割的实际意义:

     

    割边<=>付出代价<=>决定让两个点的值不相同,边权增加

    最小割<=>点的值与s一个阵营的与s相同,与t一个阵营的与t相同

     

    //    s1[i]:点i取值为0所带来的边权贡献+点权贡献
    //        点权和=已知点权和(直接加)+最大流算出来的点权和(边权和同理)

     


    //            和直觉联系起来了!

    //            编号未定的点的连边情况只有两种:
    //            1、和已知编号的点连边,编号定为1就是1,0反正没贡献就干脆不加
    //            与其不等所付出的代价表现在和s、t连的边被隔断,所以每有一条这样的边,
    //            s1[1]、s2[i]都要加1
    //            2、和编号同样未定的点连边,我们可以这么理解:
    //            割了这条边<=>付出了代价<=>两权值决定是不同,边权变大了
    //            最小割<=>以s、t为首分成两个阵营<=>确定所有点的值(s阵营的值是s)
    //            所以,若一条路两端的值都不确定时要连边,
    //            为的是:当两端属于两个阵营(两端点之间的连边被隔断)时要付出边权的代价

     

  • 相关阅读:
    4.文本编辑器vi的简单实用与指针介绍
    3.理解make命令——编译源文件安装
    2.换一种方式理解linux命令行
    1.linux环境搭建
    Tomcat 何时解压war包
    正则表达式8---再谈小括号
    利用vue-resource模拟百度下拉列表
    那些年iframe的坑(一)
    $nextTick()的理解
    一个超简单的vue商品计算总金额
  • 原文地址:https://www.cnblogs.com/towerbird/p/9555317.html
Copyright © 2011-2022 走看看