前言:

在APIO 2018 Day2下午听wuvin讲二分,听了一上午的神仙,现在终于有可以听懂了。

专题:

  1. 平均边权最大

    • 题目链接:https://www.questoj.cn/problem/34

    • 题解 by wuvin:

      二分平均值

      然后每条边减去平均值
      变为查找是否存在正环

      可以使用SPFA(反着写松弛)

  2. 最大闭合权子图变式

    • 题意:

      一个N个点M条边的图(不一定连通)。

      一个子图的优美程度定义为子图中的边数/子图的点数

      现在你需要求出最大能得到的优美程度是多少?

    • 题解by wuvin:

      照套路我们二分一下

      然后点带负权,边带正权

      选择边必须选择点

      变成最大权闭合子图,上网络流解决

    然而我并不会网络流求这个...

  3. 带权二分系列

    1. BZOJ 2654

      • 题目链接:
        https://www.lydsy.com/JudgeOnline/problem.php?id=2654

      • 题解by wuvin:

        如果我们对所有白色边的边权增加\(M*maxW\),那么最小生成树会得到一个白色边尽量少的方案。

        如果我们对所有白色边的边权增加\(-M*maxW\),那么最小生成树会得到一个白色边尽量多的方案。

        我们定义这个给白色边的额外权值为C。随着C从小到大遍历\([-M \times maxW,M \times maxW]\),那么我们的最优方案中的白色边会逐渐减少。

        如果某个C下,我们最优方案刚好得到K条边,那么这就是原题的最优解。因为最终代价为 原题的最优解+\(C*K\) 其中K和C都是常数,所以说最优解和原题是同一个最优解。

        所以我们可以二分C值,然后使用\(kruskal\)生成树即可。(假设白色边和黑色代价一样的时候选择白色边)

        但是注意一个细节,随着C的增加,白色边边数只是单调不增而已,可能出现C=1是得到5条白色边,C=1+eps是就是3条白色边,这是因为可能存在可以代替白色边的权值刚好之比白色边大1的黑色边。

        所以二分到最后需要特判一下。

    2. APIO 2014

      • 题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=3675

      • 题解by wuvin:

        Ans = C – 每一段内任意两个数的两两的乘积之和

        \(Ans=C-minimize(\sum_{i \in [li,ri]}\sum_{j \in [li,ri]} {Wi \times Wj})\)

        传统做法O(NK)的斜率DP

        我们来参数二分 —— 给每次划分附上一个额外的代价C。

        当\(C= +∞\)时,答案是只分一段。
        当\(C=0\)时,答案是每个数割一刀,分成n段。

        分的段数随着C的增长而减少
        于是可以采用刚刚类似的二分方法。

        二分之后就是正常的斜率DP了。
        最终复杂度 \(O(nlogV)\)

      • 相似:

        SDOI2016 征途

学习笔记--APIO 2018 二分专题 By wuvin的更多相关文章

  1. 「学习笔记」wqs二分/dp凸优化

    [学习笔记]wqs二分/DP凸优化 从一个经典问题谈起: 有一个长度为 \(n\) 的序列 \(a\),要求找出恰好 \(k\) 个不相交的连续子序列,使得这 \(k\) 个序列的和最大 \(1 \l ...

  2. RxJava2.0学习笔记2 2018年7月3日 周二

    摘记: 1.map -- 转换  有些服务端的接口设计,会在返回的数据外层包裹一些额外信息,这些信息对于调试很有用,但本地显示是用不到的.使用 map() 可以把外层的格式剥掉,只留下本地会用到的核心 ...

  3. 算法图解学习笔记01:二分查找&大O表示法

    二分查找 二分查找又称折半查找,其输入的必须是有序的元素列表.二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则找到x,算法中止:如果x<a[ ...

  4. [笔记] APIO 2018 Day1

    计算折纸 computaional origami 全息算法(???) margulis napkin problem 素数里有任意长的等差数列 xor gate Σxi or gate(exact ...

  5. 【学习笔记】整体二分(BZOJ2738矩阵乘法)

    也是因为一道题才来学的... 然后就发现这道模板貌似是暑假初期在某校集训的时候的比赛题 并且好像没改= = 前置芝士 1.二分= = * CDQ分治[你要是知道CDQ分治的话这玩意就很好理解啦] *本 ...

  6. RxJava2.0学习笔记1 2018年3月23日 星期五

    参考博文:给初学者的RxJava2.0教程-简书     源码 :https://github.com/ssseasonnn/RxJava2Demo 1 若是发送多个onError, 则收到第二个on ...

  7. Android学习笔记_66_图片处理专题

    1.图片缩放:不解析整个图片信息. public class DemoActivity extends Activity { @Override public void onCreate(Bundle ...

  8. 图灵学院JAVA互联网架构师专题学习笔记

    图灵学院JAVA互联网架构师专题学习笔记 下载链接:链接: https://pan.baidu.com/s/1xbxDzmnQudnYtMt5Ce1ONQ 密码: fbdj如果失效联系v:itit11 ...

  9. wqs二分 学习笔记

    wqs二分学习笔记 wqs二分适用题目及理论分析 wqs二分可以用来解决这类题目: 给你一个强制要求,例如必须\(n\)条白边,或者划分成\(n\)段之类的,然后让你求出最大(小)值.但是需要满足图像 ...

随机推荐

  1. spring-jms,spring-boot-starter-activemq JmsTemplate 发送方式

    spring-jms,spring-boot-starter-activemq JmsTemplate 发送方式 背景: 原来我准备是setDefaultDestinationName 设置队列的名称 ...

  2. Visual Studio Code 编辑器使用

      image.png 之前一直都是用 sublime text 作为开发工具,用久了自然而然会觉得生活无趣,而且当时用sublime text 装了很多插件,有些插件不能用,于是决定试试微软的新产品 ...

  3. JScript 对字符串、数组处理的常用方法

    1.anchor 方法 在对象中的指定文本两端放置一个有 NAME 属性的 HTML 锚点.     strVariable.anchor(anchorString) var strVariable ...

  4. Java IO & Serialization

    Java IO & Serialization 专为开卷考试准备,内容包括基本的文本文件和二进制文件的读写以及序列化反序列化操作 IO demo package helloworld; imp ...

  5. Android热修复技术原理详解

    阿里Dexposed -- native解决方案 原理: 直接在native层进行方法的结构体信息对换,从而实现完美的方法新旧替换,从而实现热修复功能   他的思想完全来源于Xposed框架,完美诠释 ...

  6. 使用EasyPrint实现不预览直接打印功能_非JS打印

    插件地址 github 下载插件,安装后将在注册表中添加EasyPrint的协议 随后可以在开始->运行中输入EasyPrint://1&test 进行测试  参数分为两部分使用[&am ...

  7. java逆向工程-mybatis-generator

    题记:在快速开发的项目中有使用到,这样可以避免冗余工作 声明:参考于https://www.cnblogs.com/smileberry/p/4145872.html 环境:必须先安装maven环境, ...

  8. Appium移动自动化测试(五)之应用操作

    实验简介 对于APP测试来讲, 除了进行功能测试以外, 安装和卸载其实也是一个很重要的测试项. 试想, 如果用脚本来实现了, 可以事先判断该应用是否已安装, 根据判断结果来执行安装和卸载的动作, 循环 ...

  9. oracle 导出关键字说明

    关键字       说明(默认) ----------------------------------------- UserId    用户名/口令 Full      导出整个文件(N) Buff ...

  10. java 抽取 word,pdf 的四种武器

    转自:https://www.ibm.com/developerworks/cn/java/l-java-tips/     感谢作者发布的文章 用 jacob 其实 jacob 是一个 bridag ...