WQS
  • 2024-10-24wqs二分
    感觉一般可能要严谨证明的话还是有点麻烦,不如直接打表,或者先老实WA一发来的快一般题目会有选恰好k个/次这样的限制大致就是通过二分斜率,然后通过dp,或者贪心计算出最大/最小值,然后通过判断这个最大/最小值对应的选的个数来调整需要注意的是,我们计算的相当于是截距,还要+/-kl才
  • 2024-10-11### 100th 2024/9/8 WQS二分小结
    破百了,路长了这个世界,能听见我的回响吗?循环了很久很久的Echoism回望了过去,也要认真注视当下的现实了对吗?来看看WQS二分可以用上的题目有Raper,Gmoj的coffee和划分序列这几题都有一个共同的特点,就是要从n个中恰好选k个的极值而他们的取值都有一个共性,就是关于k,该函数的形状
  • 2024-09-20算法随笔——wqs二分
    学习链接学习链接应用条件选择恰好\(x\)个物品,求最优值设\(x\)对应最优值\(f_x\),\((x,f_x)\)在图像上呈现为凸包。无数量限制问题简单可做问题转化有\(n\)个物品,恰好选\(m\)个,计算最优值。做法例题模版题:P2619
  • 2024-09-13关于 wqs 二分的一言两语
    感觉一个比较入门的题目是P2619。你要求的是恰好有\(need\)条白色边的,这个很难表示,因为如果直接跑一遍MST,你不能保证一定选了\(need\)条,有可能白色边“太好了”或者“太坏了”。但是我们发现,如果白色边“越好”,就会尽可能选白色,反之亦然。也就是说如果我们增加一个费用:给所
  • 2024-09-09WQS 二分学习笔记
    1.股票买卖问题1.11.0版本考虑现在有\(n\)天,每天的股票价格\(a_i\)已知。你手上同时只能持有至多一张股票,且一笔买卖需要支付\(c\)的手续费。求最大收益。1.1.1解法1:DP我们不妨设\(f(i,0/1)\)表示前\(i\)天结束后手上是否持有股票。转移非常简单:\[f(i,0)=\m
  • 2024-09-09wqs 二分
    wqs二分可以优化一些dp,最常见的是”选一些物品,次数有限制,使总价值最大“,有以下限制:定义\(g(k)\)为恰好用\(k\)此操作能获得的最大收益,那么\(g(k)\)要满足上凸。如果不考虑限制,可以比较快地求出答案。前置股票买卖Ⅰ有\(n\)天,每天股票有一个价值\(a_i\),但是
  • 2024-09-05DP优化——wqs二分
    在看wqs二分前建议先去看另一篇博客——斜率优化,对凸包等知识点有所了解。介绍wqs二分最初由王钦石在他的2012年国家集训队论文中提出,也叫"带权二分",或者"dp凸优化",而从IOI2016的Aliens题目开始,这种方法开始逐步在竞赛圈中有了一定的地位。在国内我们一般称为「wqs二
  • 2024-08-23wqs 二分学习笔记
    蒟蒻的第一篇学习笔记qwqwqs二分用于解决此类问题n个物品,从中选恰好m个,最大化收益。而且你发现,如果没有选m个的限制,这道题是非常好做的。使用前提1、恰好选k个,至多至少不行2、答案满足凸性什么是凸性?设选i个物品时的收益为fi如果把它画成函数,那么它长这样(上凸包)或者这样
  • 2024-08-19wqs 二分
    感觉是一个很神秘的东西。例题P2619[国家集训队]TreeI从\(m\)条边中选\(n-1\)条要求选恰好\(k\)条白边,且边集是原图生成树求边权和的最小值这题不算是dp,但还是记\(f_i\)为恰好选\(i\)条白边的最小代价。而wqs二分的要求是函数要具有凸性。简单版本就是选
  • 2024-08-13wqs二分 学习笔记
    wqs二分参考资料【学习笔记】WQS二分详解及常见理解误区解释-ikrvxt-CSDNwqs二分学习笔记-Leap_Frog-Luoguwqs二分详解-Hypoc_-CSDN前言2024.08.13模拟赛遇到恰好选\(k\)个的限制的反悔贪心做模拟费用流的题,然而不会wqs二分,改不完题,于是赶快学习wqs二分,遂要写下
  • 2024-08-10wqs二分
    wqs二分用来处理一类带有限制的问题,如恰好选\(k\)个,本质是通过二分来规避这个选取数量的限制。使用前提:原问题具有凹凸性。设\(g_i\)表示选\(i\)个物品的答案,那么所有\((i,g_i)\)点组成一个凸包,满足\(g'(k)\)单调。这类题目通常有以下特点:如果不限制选的个数,那么
  • 2024-07-12杂寄
    杂寄Preface杂记不是鲜花emm1.next_permutation是怎么实现的首先有一个非常不好的现象,就是大家有STL之后就不学某些算法了,就比如sort和nth_element。让我们来看看next_permutation是怎么做的。next_permutation的时间复杂度是\(\mathcalO(n\logn)\)的算法分
  • 2024-06-10WQS 二分 & 凸优化dp
    WQS二分决策单调性,四边形不等式\(O(nk\logn)\toO(n\logn)\)想法转移转成最短路。最短路,转移代价\(\to\)边权。恰好选k条边的最短路为\(f\)。\(f\)必须有凸性。加上额外代价\(\lambda\):\(\lambda\to\inf\),选1边\(\lambda\to-\inf\),选n边二
  • 2024-06-04WQS二分 学习笔记
    问题引入前置问题:把长度为\(n\)的正整数序列分为若干段,一段代价为这段和的平方加一个常数\(c\),求最小代价。设\(f_i\)表示考虑前\(i\)个数且最后一段结尾为\(i\)的代价,答案为\(f_n\),\(f_i=\max_{j=0}^{i-1}\{f_j+(s_i-s_j)^2+c\}\),可以斜率优化,时间复杂度\(O(n)\)
  • 2024-05-24待办事项
    唉不行必须开个list了。全局平衡二叉树动态DP(加强版)wqs二分link1link2P4559[JSOI2018]列队P4345[SHOI2015]超能粒子炮·改:递归解法
  • 2024-05-22最小度限制生成树
    先看这篇题解其中主要是这两个部分的证明也就说明了为什么可以使用wqs二分这篇文章还没有详细看,有空了详细看一下(这篇文章的方法也没看,还有洛谷第一篇题解)
  • 2024-04-29P5896 [IOI2016] aliens (斜率优化 dp+wqs 二分)
    我们可以把所有点都对称到主对角线下方。然后每个点如果想被覆盖都会有一个最小的三角形,我们可以贪心的只留必须选的点。如果把剩下的点按\(x\)坐标升序排序,可以发现他们的\(y\)坐标也是升序排序的。记剩余点个数为\(n\),显然每个点都选自己的最小三角形最好。但是有可能\(
  • 2024-04-18[dp 小计] wqs 二分
    天才算法!国外叫Alienstrick(外星人trick),真的太强了。其实是因为IOI2016Aliens这道题考了这个算法才开始普及。解决问题wqs二分一般用来解决如下问题。给定\(n\)个数,求强制选\(m\)个的价值最大。如果不是强制选\(m\)个,这类问题很好做。现在问题就是怎么取消
  • 2024-04-12WQS 二分
    一个参考WQS二分用来处理一些答案构成凸函数的问题。最经典、最常见的形式,就是"从若干个物品中恰好选给定个数的最优"型问题。适用要求:如果不考虑选的物品的个数限制,可以很快求出答案。例题:P2619TreeI从所有白边中选\(need\)条,然后加上若干条黑边形成生成树,最优是多
  • 2024-03-15wqs二分
    https://zhuanlan.zhihu.com/p/340514421https://blog.csdn.net/Emm_Titan/article/details/124035796https://www.cnblogs.com/TianMeng-hyl/p/14972355.htmlhttps://www.cnblogs.com/Liang-sheng/p/15182786.html
  • 2024-02-23wqs二分学习笔记
    wqs二分wqs是用来处理一类带有恰好选K个这种限制的问题我们如果发现这个答案关于k的函数是凸函数,那么就可以二分出斜率,然后拿它去切这个函数设这个直线为\(y=ax+b\),以上凸为例,我们要求截距最大,就是b最大,等价于\(y-ax\)最大,也就是把k限制对应的贡献-a,然后再算答案,然后就可以去
  • 2024-02-16省选游记+省选前总结
    Day-16初五的新年气息仍然有,不过接近尾声了,当热闹的气氛过后,便就只有无尽的孤独了中午便来到了二南,初中同学居然\(13\)天后才放假,真是秦始皇踩电线,赢麻了做题总结:P2619[国家集训队]TreeI\(wqs\)二分的板子题\(wqs\)主要利用了答案函数的凸性,通过斜率
  • 2024-02-13WQS二分学习笔记
    WQS二分WQS二分是一种可以处理一类带有限制的问题的方法,这种限制一般是恰好选\(k\)个的形式,而且要求原问题有凸性。比如函数是上凸的,那么斜率就递减,如果我们去二分这个斜率,那么可以快速求出切点,而切点横坐标代表我们选择了多少个,于是我们就可以根据这个数目和题中要求的\(k\)
  • 2024-02-07野餐规划
    太难证明了,到现在都看不懂。。。这道题目好像可以用wqs二分做把这道题目,陈立杰出的tree那道题目,还有洛谷P5633都搞明白,注意wqs二分和这种做法都要懂然后蓝书好像描述不好,看这篇题解他讲的第一个证明我花了好久看懂了:\(e\)指不在\(T\)上的边,\(P\)是\(T\)上从\(u\)到\(v\)的一条
  • 2023-12-11ARC168E
    题面给定长度为\(n\)的数列\(\{a_i\}\)和两个参数\(k,s\),将\(\{a_i\}\)划分成\(k\)段,最大化和\(\geqs\)的段数。\(1\leqk\leqn\leq250000,1\leqA_i\leq10^9,1\leqs\leq10^{15}\)。题解首先注意到如果当前划分的一段\(sum<s\),那么这种段的长度