浅谈 Wqs 二分

浅谈WQS二分 考虑 m+1 时的答案,分为两种情况:1. 会改变 m 时的选取情况,我们将选或不选的情况用 01 串来表示,那么只有可能将一个类似 01010 的串改成 10101 的串,显然这样的改变的增量会越来越小, 即。,判断切点于 m 的关系,如果切点在 m 的左侧,则说明斜率大了,那么缩小二分上界;2. 不会改变 m 时的选取情况,即选一个全新的位置,那么该位置的价值显然小于 m 时选取的价值,所以依旧满足。可以发现随着斜率 k 的单调递减所得到的切点的横坐标单调递增,而上图 k=k2 时,所得到的切点为。 阅读详情

浅谈 Wqs 二分

主要是今天写 「九省联考 2018」林克卡特树 的时候遇到了,就学一下。


使用条件

  • 题目中对于一种 D p \tt Dp Dp 有限制,但是如果没有限制,其复杂度是正确而且很好求的。举个例子来说:

将一棵树划分成 k k k 条链,我们 D p \tt Dp Dp 的时候只需要记录当前节点是否被匹配过,以及是否正在被匹配即可,而且我们还要考虑总共有几条链,进行划分。但是如果不考虑链的数量,这个 D p \tt Dp Dp 显然是 O ( n ) O(n) O(n) 的。

对于背包类型的 D p \tt Dp Dp 来说如果有物品数量的限制,之前常常会有 O ( n 2 ) O(n^2) O(n2) 不得不枚举的复杂度,我们将其消去常常就可以得到正确的复杂度。

  • 对于限制的依赖,可以考虑限制是 x x x,贡献是 f ( x ) f(x) f(x),对于点对 ( x , f ( x ) ) (x, f(x)) (x,f(x)) 其构成一个凸包。

具体实现

对于一个凸包考虑枚举斜率进行切割,对于一个上凸包来说斜率是从左到右逐渐递减的。

我们考虑枚举一个斜率 k k k,那么我们的截距是什么呢,显然就是 f ( x ) − k x f(x) - kx f(x)−kx。

显然对于所有的 g ( x ) = f ( x ) − k x , ( x , g ( x ) ) g(x) = f(x) - kx, (x, g(x)) g(x)=f(x)−kx,(x,g(x)) 同样构成相同的凸包。

那么我们可以考虑二分一个 k k k,计算最优秀的 x , g ( x ) x, g(x) x,g(x)。

如果说 x < m x < m x<m,其中 m m m 是题目中的限制,那么我们肯定是要将斜率减小,否则是增大。


边界处理

考虑相同的一段是怎么处理的,我们可以考虑对于相同的一段我们钦定保留 x x x 最小的。

每次二分的时候,当 k < m k < m k<m 的时候,让 ans = mid, R = mid - 1即可。

while(L <= R) {
    mid = (L + R) >> 1;
    dfs(1, 0);
    if(f[1][0].y == K) return printf("%lld\n", f[1][0].x + mid * K), 0;
    if(f[1][0].y < K) R = mid - 1, ans = mid;
    else L = mid + 1;
}
浅谈WQS二分/凸优化算法 最近学的最简单明了又应用广泛的高级算法,又是一个发明于中国国家队/集训队的算法,不得不说,中国信息竞赛的发展推动世界科学进步 阅读详情

相关推荐

高通camera:PDAF的配置与测试

确认相关log日志都已经打开了之后,判断是在3A算法中没有应用到PDAF,可能是之前在调试AF效果的时候关闭了PDAF,打开效果文件对应的文件夹,在\kamorta_lce_S5K3P9\Scenario.Default\XML\STATS。在log中搜索af_pdaf_proc_pd_single,这个函数是pdaf算法中的,源码被封装了,这里看不到,因此只能通过log打印出来的参数来分析pd是否正确,主要参数有pd ,defocus,confidence。PDAF的配置与测试。

arvin_xiong的博客 2489

【学习笔记】WQS二分详解及常见理解误区解释

绝对是良心的博客!新手入门绝对懂!!

1万+

IMU、INS、GNSS与组合导航:从原理到工程实践全解析

在自动驾驶、无人机和机器人等智能系统的定位方案中,IMU、INS、GNSS和组合导航常被混为一谈,但它们在硬件层级、数据特性和误差机制上截然不同。IMU作为惯性测量单元,以百赫兹以上频率输出加速度和角速度;INS基于IMU完成姿态、速度与位置的递推解算,却因积分累积误差而随时间漂移;GNSS提供绝对位置,但易受遮挡和干扰。组合导航通过卡尔曼滤波将两者融合,实现短期不飘、长期不偏的连续定位,这正是高精度导航系统的技术底座。工程落地时,从IMU标定、Allan方差分析到相机/LiDAR与IMU外参标定,再到松耦

weixin_29193259的博客 383

wqs二分详解

废话 学这个算法的时候,深切的体会到,能找到一篇好的文章来学习是多么幸福啊…… 正题 这是一个用来解决这样一类问题的算法: 有若干个物品,要求你选出 mmm 个,选的时候带有限制,要你求出最优的方案 用的时候有一个大前提,就是,设 g(i)g(i)g(i) 表示选 iii 个物品的最优方案,那么将所有点 (i,g(i))(i,g(i))(i,g(i)) 画出来,他们一定要组成一个凸包(上凸下凸...

a_forever_dream的博客 1万+

Gromacs GPU加速版安装全攻略:从依赖配置到性能优化

本文提供了Gromacs GPU加速版的完整安装与性能优化指南。详细介绍了从编译器、OpenMPI、FFTW到CUDA等关键依赖的配置,手把手指导编译支持CUDA的Gromacs,并深入解析了如何通过调整.mdp参数及平衡MPI与OpenMP线程分配,最大化GPU利用率,从而让分子动力学模拟效率获得数十倍提升。

y9z0a1b的博客 1151

lammps 案例:高熵合金FeNiCrCoCu建模及拉伸模拟

高熵合金力学性能模拟包括拉伸、剪切、摩擦等模拟,本文以高熵合金FeNiCrCoCu为例介绍高熵合金建模及拉伸过程模拟。 FeNiCrCoCu原子数量比为1:1:1:1:1 高熵合金的拉伸与单晶拉伸过程类似,主要包含以下步骤: 1.建模 高熵合金含有原子类型较多,建模时,一般以含量最多的原子为主建立初始模型。 使用set type/ratio或者set type/fraction的方式按一定比例替换为其它合金原子。 如随机选择20%的原子1,将其转换为原子2: set type 1 type/ratio 2

lammps_jiayou的博客 6067

wqs二分(带权二分)总结

wqs二分一般用于解决这样一种问题: dp是凸函数,也就是多选一个物品,收获肯定更多 这种问题一般是有限制的,比如限制最多选择m个物品 且如果没有限制,将很容易计算 设fuf_ufu​表示选 u 个的收获,图像如下: 我们要找到这样一个(m,fm)(m,f_m)(m,fm​) 可以二分斜率 k ,得到斜率 k 的直线与图像相切的点,这个点相当于是截距最大的点,截距gu=fu−k∗ug_u=f_u-k*ugu​=fu​−k∗u,相当于每个物品都减少 k 的价值,得到的最大的贡献点对应的x坐标,如果x大了意味着

andyc_03的博客 1658

芒果YOLOv11改进175:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子

芒果YOLOv11改进:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子

包括YOLOv5、YOLOv7、YOLOv8等模型改进 1298

学习笔记/DP:wqs 二分概述 _

wqs 二分,即王钦石二分,是一种通过降维来优化 dp 的处理手段。在 OI 中,wqs 二分最常用于处理一类 2D/1D dp,常搭配斜率优化、决策单调性等其他 dp 优化方式使用,较为套路。

jhasjfhgasjkh的博客 882

Google antigravity 不支持你所在地区?手把手教你把账号改成支持地区

Google antigravity功能火爆,但国内老账号根本用不了🤬本文分享几种有效的账号国家地区切换方法,最快几分钟就能让antigravity直接亮起🔥

XiaoqiangClub的博客 2万+

Python APP反爬实战:Frida+Charles抓包,破解签名校验

Charles抓包定位参数 → jadx-gui反编译找函数 → Frida Hook拿密钥/规则 → Python还原签名算法;Frida的核心价值:Hook住APP的加密函数,拿到“输入(密钥/参数)+输出(签名)”,无需懂复杂的逆向底层;严格对齐APP的参数排序、拼接规则、加密算法,差一点都会验证失败。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1536

浅谈wqs二分

论文 浅析一类二分方法 算法讲解 例题 首先不考虑限制是一个很简单的斜率优化板子 加上kkk之后再用斜率优化就是O(nk)O(nk)O(nk)的 如果k,nk,nk,n同阶显然做不了 考虑怎么优化这个问题 这个时候就要用wqs二分了 wqs二分 设f(k)f(k)f(k)表示分成kkk段的答案 通过打表严格证明可以发现(x,f(x))(x,f(x))(x,f(x))是个凸壳 (斜率单调) 先假设这是个上凸壳 二分一个midmidmid,表示直线的斜率 然后用这条直线去切这个凸壳,假设交点为(x,f(x))

lahlah的博客 1305

【项目实战】TARA威胁分析和风险评估

TARA是信息安全领域中的一种风险评估方法,在汽车信息安全的上下文中,TARA分析特别重要,因为它可以帮助识别和管理与智能网联车辆相关的各种威胁,包括数据泄露、未经授权的访问、远程操控等。通过TARA分析,企业可以制定出针对性的安全目标、产品要求和产品安全声明,以确保汽车及其零部件符合相关的信息安全标准和法规。此外,TARA分析还可以与数字化建模系统结合,以更系统化和高效的方式进行风险评估和管理。

奶爸的编程之路,也就一周冷个三天 2711

浅谈WQS二分、带权二分、凸优化与一类斜率优化DP

幕天题意一个简单的转化二维DP朴素斜率优化带权二分我们先看一道简单题题意分析代码进入正题题目回顾分析加权权与段数的关系单调性两个问题DP朴素DP斜率优化就题论题的分析方法一个普适的结论代码后记 除最后一张普适公式外,文中所有图像和公式均为原创,转载请附出处谢谢!!! 题意 [BZOJ 4518] Sdoi2016 征途 求nnn个数a1,a2,⋯ ,ana_1,a_2,\cdots,a_na1​,...

ixRic 1466

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

关于二分

#include &lt;set&gt; #include &lt;cmath&gt; #include &lt;queue&gt; #include &lt;stack&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &lt;cstdio&gt; #include &lt;cstdlib&gt; #incl

FZdeAmbition的博客 215

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

DP优化:WQS二分 或 斜率凸优化 或 带权二分

标题说的三个玩意都差得不是很多。 上论文 :WQS二分 例 : 在树上选k条路径使得权值和最大。。。 形如这类选k个的问题,一般的做法是在DP中加一维表示已选了几条路径。 但是,毒瘤一点的出题人就会把范围开到10^5,MLE+TLE 这时就要用WQS二分这个小套路了。 既然在DP中加一维不可取,我们只能直接DP。 但是DP出来的结果并不一定是选了k个的。 大佬开始了他的妄想,要是...

Freopen的博客 1386

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

洛谷日报索引

2022 年洛谷日报索引 2月 #383 [159号程序员] CSP初赛知识点梳理 https://www.luogu.com.cn/blog/334586/csp-pre-knowledge #382 [xtx1092515503] 群论学习笔记 https://www.luogu.com.cn/blog/Troverld/qun-lun-xue-xi-bi-ji #381 [Alpha1022] 浅谈集合幂级数 https://www.luogu.com.cn/blog/your-alpha1022/q

王俊吉的博客 12万+

WQS二分(带权二分)

WQS二分是一种基于凹凸性优化的二分算法,适用于带约束的最优化问题。其核心思想是通过二分斜率来快速定位最优解,特别适合选择恰好K个物品的凸性优化问题。该算法需要目标函数具备凸性或凹性,利用斜率单调性进行二分搜索。实际应用中,结合贪心或动态规划计算最优解,常用于费用流问题和降维优化。WQS二分通过优化斜率显著提升计算效率,在流量增广和状态压缩等场景中表现突出,为解决复杂约束优化问题提供了有效工具。

m0_65128884的博客 1695

WQS二分—简介及基本应用

WQS二分是啥?搞了这么久我连它的全名是什么都一头雾水,姑且称其为忘情水二分吧。 先推荐一个博客 https://www.cnblogs.com/CreeperLKF/p/9045491.html 再来膜一个dalao https://www.cnblogs.com/AKCqhzdy/ 理论 忘情水二分的模型:给出一些选物品的条件,不同的组合法会有不同的价值,要求刚好选m个,最大化(最小化)总...

A_Bright_CH的博客 4145

WQS二分

WQS二分/带权二分/DP凸优化     模型:有 nnn 个物品,选择每一个都会有相应的权值,需要求出强制选 kkk 个物品时的最大/最小权值和     大致思路:     限制个数的最大/最小权值和可以用 n2n^2n2 的 DPDPDP 求出   &nb...

Scar_Halo 774

wqs二分

转移很简单, 𝑓[𝑖][𝑗][0]=min⁡(𝑓[𝑖−1][𝑗][0],𝑓[𝑖−1][𝑗][1]) ,𝑓[𝑖][𝑗][1]=𝑓[𝑖−1][𝑗−1][0]+x[𝑖]−x[𝑖−1]设 f[x] 为连 x 条线的最优答案,易发现为上凸包,考虑 wqs 二分 ,枚举一个附加权值,即可以去掉 j 这一维,就做完了。考虑暴力dp, 𝑓[𝑖][𝑗][0/1] 为前 i 个房子,连了 j 条线,并且第 i 个房子是否和第 i−1 个房子连线。横坐标为选 x 个,纵坐标为选 x 个时最优值,显然答案为 f(m) ,但我们。

m0_71198491的博客 440

西江月

西江月    无故写诗添词,有时愁短肝肠!纵然生是多情种,可怜真情疯狂!可悲不识时务,行为不顾梦想。暮暮倚窗夕阳,只落凄凉惆怅。1996.10.

迷茫 1699

wqs二分的一些细节

wqs二分的一些细节 wqs二分的本质 一个答案函数f[x]。f[x](即函数值)是有特殊限制的下求出的答案,特殊限制即变量x。f是一个凸函数(凸包),如果我们可以构造一个函数g[x]使它没有特殊限制,并且可以轻易计算(一般通过对限制的选择加权,来构造函数g)。并且g和f有关于x的一次函数关系(类似于f[x]=g[x]+k*x),我们就可以二分 ...

ZXCVzzzzz的博客 664

WQS二分题集

WQS二分,一种优化一类特殊DP的方法。 很多最优化问题都是形如“一堆物品,取与不取之间有限制。现在规定只取k个,最大/小化总收益”。 这类问题最自然的想法是:设f[i][j]表示前i个取j个的最大收益,转移即可。复杂度O(n^2)。 那么,如果在某些情况下,可以通过将问题稍作转化,变成一个不强制选k个的DP,而最后DP出来的最优解一定正好选了k个,那么问题就会简化很多。 WQS二分就是基...

weixin_30892037的博客 347

关于WQS二分算法以及其一个细节证明

应用分析   它的作用就是题目给了一个选物品的限制条件,要求刚好选$m$个,让你最大化(最小化)权值,   然后其特点就是当选的物品越多的时候权值越大(越小)。 算法分析   我们先不考虑物品限制条件,   假定我们要最大化权值。   然后其中我们二分一个$C$,表示选一次物品的附加权值,   如果我们$C$越大,我们选的物品个数越多,权值越大,   于是当选的物品个数大于$m$时...

weixin_30919429的博客 356
上一篇: Tarjan 缩点,强联通分量
下一篇: 浅谈欧拉路径,欧拉回路,以及有向图欧拉回路的计数
sharp_legendgod
博客等级 码龄7年 8粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值