二分答案转换为判定的题型

本文介绍了如何通过二分答案转换为判定问题的方法,以解决AcWing平台的两个问题:最佳牛围栏中的最大平均值寻找和防线中前缀和的奇偶性判断。通过实例演示,展示了如何利用性质1和性质2构建图并应用二分查找策略来优化求解过程。
摘要由CSDN通过智能技术生成

二分答案转换为判定问题:

这个方法是怎么想到的呢?我做的题不多,试着依照现有的做题量,来总结了下这些题目的思考过程。(实时更新)

AcWing 102. 最佳牛围栏

最优解问题。

题目描述:给定正整数序列A,每个长度大于等于L的字段都有一个平均值,求最大平均值。

如果暴力枚举的化,就是枚举每个方案。每个方案都有一个对应的平均值。现在方案作为定义域,将平均值作为值域。

以“每个符合要求的字段”作为定义域,“字段对应的平均数”作为值域,按值域从小到大排序,可以画出一个图。题目要求的最大平均值就是值域最大值S。

在这里插入图片描述

那么对于大于S的值x0,一定与之对应的方案。而对于小于S的值x0,一定存在某个方案大于x0。

把所有可能的平均值从小到大排序。假设答案为S,小于S的点x0,会拥有“存在方案大于x0”的性质1,大于等于S的点x0,会存在“不存在方案大于x0”的性质2,即:

在这里插入图片描述
因此可以变成 二分答案转换为判定 的问题。解答方法

https://blog.csdn.net/qq_52993545/article/details/112794851

AcWing 120. 防线

该题目不是最优解问题。

假设题目的答案是S。对于每个可能的解x0,如果x0 < S,具有前缀和为偶数的性质1;如果x0 >= S,具有前缀和为奇数的性质2。即满足:
在这里插入图片描述
只要能画出这个图,那么往往就可以思考 二分答案转换为判定 的方法。当然,判定是难点,判定的时间复杂度必须尽可能的低,不然二分法就没有意义了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值