BZOJ P1475 方格取数
来源:互联网 发布:怎么下载旧版软件 编辑:程序博客网 时间:2024/05/16 01:49
直接转二分图之后求一遍最大点权独立集
最大点权独立集=总权值-最小点权覆盖集
最小点权覆盖集就是每一条边至少有一个定点处于集合中,且这些点的权值最小
然后我们先看看最小点权覆盖集怎么求
这是有一种模板的把图黑白染色之后把S连向黑色点流量为黑点权值,白点连向T流量为白点权值
然后黑点白点相连的点连一条流量为inf的边,然后跑完最大流就是最小点权覆盖集了
为什么呢??我们知道最大流=最小割,那么用最小割的眼光来看着题,就是S->a,a->b,b->T
那么显然不会割a->b这条边,因为是inf,割它是作死吗??
然后肯定是割S->a,或者b->T,意思就是两个点中至少选一个点嘛
然后就可以求出最小点权覆盖集了
(下面证最大点权独立集=总权值-最小点权覆盖集
网上都说去看胡*涛的论文,但我自己是这么想的
最小点权覆盖集其实就是相连两个点至少选一个点
而最大点权独立集其实就是相连两个点至多选一个点
那么其实就是减一减的事情咯)
上面是原版证明,但我觉得还是不够严谨 下面改一下
下面证最大点权独立集=总权值-最小点权覆盖集
先证点独立集=总点-覆盖集
网上都说去看胡*涛的论文,但我自己是这么想的
覆盖集其实就是相连两个点至少选一个点
而点独立集其实就是相连两个点至多选一个点
所以点独立集=总点-覆盖集
然后我们要求点独立集最大,而总点为定值,所以要覆盖集最小咯
所以最大点权独立集=总权值-最小点权覆盖集
接下来就是码农的任务了
都讲这么清楚了还要用代码吗?
1 0
- BZOJ P1475 方格取数
- 【BZOJ】【P1475】【方格取数】【题解】【最小割】
- bzoj 1475: 方格取数
- [BZOJ 1475]方格取数
- bzoj 1475: 方格取数 最小割
- BZOJ 1475 方格取数【最小割】
- 【BZOJ 1475】方格取数 最大点权独立集
- bzoj 1475: 方格取数 (最小割)
- BZOJ 1475: 方格取数 最大点权独立集
- 方格取数(1)
- 方格取数(2)
- 关于方格取数
- 方格取数
- 方格取数
- 方格取数(1)
- 方格取数(2)
- 方格取数
- 方格取数
- ElasticSearch—分词器对String的作用
- PHP小功能
- 关于在anaconda中切换不同的python版本
- 机器人学,计算机视觉 MATLAB 心得
- 【图论入门】吝啬的国度
- BZOJ P1475 方格取数
- 设计模式
- 动态规划----资源问题
- ecshop中preg_replace替换为preg_replace_callback需要注意的事项
- 三菱PlC计数器与定时的使用
- bootstrap BeyondAdmin 左侧菜单记住点击状态
- 【Java】【多线程】终止线程
- 蓝桥杯模拟-排列序数
- cartographer算法简析