首页 > TAG信息列表 > wqs

奇淫技巧——wqs二分

To Start 我们做题的时候经常会发现一类题型,它们都包含有一种条件——从 \(n\) 个东西中选择 \(k\) 个,然后乌拉乌拉一大堆让你求最优解。 比如 P4767 [IOI2000]邮局 中: 在分布在一条直线上的 \(n\) 个村庄中选 \(k\) 个建立邮局,求所有村庄到达其最近邮局的最小距离之和。\(n\le 3

wqs 二分学习笔记&做题记录

一直以为是什么很难的算法。。 wqs 二分解决的就是形如“恰好选 \(k\) 个的最大值” 这样的问题。 具体而言就是恰好 \(k\) 个这个条件很难搞时,对数据做一个偏移量,也就是所有数都去加上 \(x\) ,然后去掉这个条件跑最优解,这样得到的最优解选了几个计算一下,可以发现这个 \(x\) 会对最

wqs二分学习笔记

有一道简单的题,序列 \(a\) 有 \(n\) 元素,选正好 \(k\) 个元素和的最大值? 这道题可以用排序,但是这道题可以用来理解「二阶导」恒定的正负性。 用 \(g_k\) 表示选正好 \(k\) 个元素的最佳答案,把 \((k,g_k)\) 形成的点画在坐标系上,就能得到一个「上凸包」。 例如 \(a = [9,8,4,2,-9,-

BZOJ2654 tree (wqs二分)

题目描述 给你一个无向带权连通图,每条边是黑色或白色。让你求一棵最小权的恰好有need条白色边的生成树。 题目保证有解。   一个最小生成树问题,但是我们要选need条白边,我们用g(i)表示选取i条白边的最优方案(生成树的权值最小),那么可以大致猜出g(i)是关于i的一个下凸函数,可以发现斜

【今日爽文】重学wqs二分之我是方案构造者

引入:最小度限制生成树 将连接 \(s\) 的边称为 白边。我们人为地控制“最小”生成树的白边数量,那么其权值一定先减小后增大。其中顶点为真正最小生成树的白边数量。 发现其有凹凸性,于是考虑 wqs 二分,具体如何操作不再详细说明,最终复杂度是 \(O(n\log n+n\log W)\)。 除此之外,题目还

wqs 二分

前言 WC 将我暴打。 wqs 二分 黑龙江神仙 OIer 王钦石 归纳的一类二分方式,由于是 [IOI2016]ailens 的正解于是在国外被称为 "Alien trick"生动体现了 wqs 二分是多么魔法 考虑对于一类特殊的问题 :有限制的最优化。 抽象一个模型,\(n\) 个数选出恰好 \(k\) 个,可能还有其他限制,最大化

[算法相关]wqs 二分

简述 闲话 wqs 二分最初由王钦石在他的 2012 年国家集训队论文中提出,而从 IOI 2016 的 Aliens 题目开始,这种方法开始逐步在竞赛圈中有了一定的地位。在国内我们一般称为「wqs 二分」,而在国外一般称为「Alien Trick」。 常见适用范围 应用 wqs 二分的一种常见的问题形式为:给定一些

wqs二分

wqs二分时间 给定 个物品,我们需要在其中恰好选择 个,并且需要最大化收益。设对应的收益为 ,那么需要满足在最大化收益的前提下,每多选择一个物品,额外产生的收益是单调递减的,也就是 。同时,如果我们对物品的选择数量没有限制,即 不存在,那么我们应当能够快速地计算出最大的收益,以及

[复习笔记]WQS二分

〇、前言 ¶   天天被打爆......很久之前学过 \(\mathrm{wqs}\) 二分,现在又忘记了......考试凭感觉打......还是总结一篇好了。 壹、知识桥 ¶ 引入:有若干个物品,要求你选出 \(m\) 个,选的时候带有限制,要你求出最优的方案。   一般解决这一类问题,我们十分常用的技巧是 \(\math

wqs二分与闵可夫斯基和学习笔记

重新学了一下这方面的知识。 首先要理解wqs二分为啥只能做凸函数,以及理解二分的本质是在二分斜率。 可以看下面这篇介绍 https://www.luogu.com.cn/blog/daniu/wqs-er-fen 然后再就是wqs二分与闵科夫斯基和的关系。 可以参考这篇文章。 https://www.luogu.com.cn/blog/Flying2018/

P4383-[八省联考2018]林克卡特树【wqs二分,树形dp】

正题 题目链接:https://www.luogu.com.cn/problem/P4383 题目大意 \(n\)个点的一棵树,要求删除\(k\)条边然后接上\(k\)条边权为\(0\)的边后形成的树上选择一对\((p,q)\)从\(p\)走简单路径到\(q\)的权值和最大。 \(n,k\leq 3\times 10^5\) 解题思路 其实可以理解为选恰好\(k+1\)条

LG5308 [COCI2019] Quiz(wqs二分+斜率优化DP)

P5308 [COCI2019] Quiz 作为 wqs 二分的一道入门题,值得写一篇题解。 解题思路 首先我们考虑 \(O(n^2k)\) 的普通 DP。 我们令 \(f_{i,k}\)​ 为考虑淘汰 \(i\) 个人,分成 \(k\) 轮淘汰的最大收益。我们可以得到转移方程: \[f_{i,k}=\max\limits_{j=0}^{i-1} f_{j,k-1}+\frac{i-j}{i}

P4983-忘情【wqs二分,斜率优化】

正题 题目链接:https://www.luogu.com.cn/problem/P4983 题目大意 给出长度为\(n\)的序列\(x\),记平均数为\(\bar{x}\),要求将序列分成\(m\)段。 每一段\([l,r]\)的值为 \[\frac{((\sum_{i=l}^rx_i\times \bar x)+\bar x)^2}{\bar x^2} \]求所有段的值和最小 \(1\leq m\leq n\leq 1

CF739E Gosha is hunting(wqs二分套wqs二分)

LINK 定义 f [ i ] [ j ] [ k

wqs二分&闵可夫斯基和学习笔记

博客仍在施工中 关于 wqs 二分部分可以参考 跳蛙的博客 或者 原论文,基础部分这里略过。 wqs 二分与费用流 事实上要严格证明一个函数是凸的需要不少时间,比如经典的 wqs 二分问题: 给定长度为 \(n\) 序列 \(a_i\),要求选择恰好 \(k\) 个不相交的非空子区间,使得选中元素的价值和最大。

浅谈WQS二分

目录前言讲解应用领域原理练习例1例2代码小结 前言 确实是浅谈。 讲解 应用领域 WQS二分用于解决形似于有限制地恰好选 \(x\) 个物品,使其权值和最大或最小。 而且随着选物品个数的增多,这个权值呈一个凸函数的形式。 原理 考虑一下如果不是必须选 \(x\) 个而是随便选怎么做? 其实对

【题解】 闷声刷大题 带悔贪心+wqs二分

Legend 大神犇 YCY 现在有 \(k\) 道神题要刷(假定神题没有区别),刷一道题要分两个步骤,必须要先想出正解再写出正解。 他一共有 \(n\) 天时间可以刷题,但他每天最多只能想出一道题和写出一道题,可以在同一天想出和写出同一道题。 定义刷一道题的代价为想的代价 \(a_i\) + 写的代价$ b_

【洛谷4983】忘情(WQS二分+斜率优化DP)

点此看题面 给定一个长度为\(n\)的序列\(a\),要求你把它划分成\(m\)段。 令\(sum_i\)表示第\(i\)段的数之和,求\(\sum_{i=1}^m(sum_i+1)^2\)的最小值。 \(m\le n\le10^5\) \(WQS\)二分 一来这种套路早就见过了,二来事先知道了这题是\(WQS\)二分,于是这题就变得非常水。。。 不过感觉

wqs二分学习笔记

内容 \(wqs\) 二分又名凸优化、带权二分。 一般用于 \(n\) 个物品强制选 \(k\) 个的情况下的最优化问题。 这样的问题直接 \(dp\) 复杂度一般都比较高,因为要求强制选 \(k\) 个,所以要有一维来记录选了多少物品。 而 \(wqs\) 二分则可以把这种限制去掉。 首先我们二分一个权值 \(C\)

凸包与动态规划——浅谈斜率优化与 wqs 带权二分

广告 你还在为题目限制太多而放弃吗? 你还在为dp太慢而焦虑吗? 你还在为炸空间而烦恼吗? 来试试凸包斜率优化与 wqs 带权二分吧! 简介 (上面怎么又有广告) 前置芝士你需要知道的:动态规划在转移时,最终转移而来的状态称为决策点 斜率优化与 wqs 带权二分都是利用凸包与切线的概念优化 dp

WQS二分学习笔记

WQS二分学习笔记 完全没看懂…… 事情的起因,是一道叫做林克卡特树的题。 题目大意:从一棵树中选出 \(k+1\) 条非相邻链,要求链的权值和尽量大。有负权边。 首先能想到一个简单的DP,\(f[i][j][0/1/2]\):以\(i\)为根的子树中,选了\(j\)条链,0:\(i\)没选 1:\(i\)在链的端点上 2:\(i\)在一条链

luoguP4383 [八省联考2018]林克卡特树(树上dp,wqs二分)

uoguP4383 [八省联考2018]林克卡特树(树上dp,wqs二分) Luogu 题解时间 $ k $ 条边权为 $ 0 $ 的边。 是的,边权为零。 转化成选正好 $ k+1 $ 条链。 $ k \le 100 $ 的部分。 毫无疑问是树上打背包dp。 但具体设计还要注意一下。 一个问题是单点成链,这个要特判。 之后由于选择的都是

「IOI2016」外星人(斜率优化+wqs二分)

「IOI2016」外星人(斜率优化+wqs二分) 分析性质: 每个点x,y可以转化为一段区间,如果出现了\(x'\leq x,y'\leq y\)包含关系,那么可以忽略 所以可以转化为一些不相交的区间进行\(\text{dp}\),代价为每个区间\((R-L+1)^2\)减去相交部分的平方(处理之后相交部分就只有\(i\)与\(i+1\)相交

关于wqs二分(凸优化) 实数二分和整数二分的一些讨论

https://loj.ac/problem/2478 以上面这题为例,这道题斜率是不递增的,并且都是整数。 实数二分很爽,但是效率不高,对于斜率都是整数的,我们可以采用整数二分,但是需要注意一点细节: wqs二分,是找一个斜率,使得第k个成为最优点。 但是,因为斜率可能出现一段相同的情况,因此可能有一个斜率,使得一