天梯算法Day3整理

浮点数解析

炸鱼题掠过

冲突值

题面

解析

方法一 —— 并查集

按照边值排序,然后按边值从大到小遍历,通过并查集判断能否将所有点无冲突地归于两个集合。在判断时,若有两个点不得不产生冲突,则输出这两个点之间的边值并结束。若无冲突则输出0.

方法二 —— 二分答案

二分答案的主旨思想可先看后面的“拓展——二分答案”。

下面来说一下在本题中的应用

代码

方法一 —— 并查集

方法二 —— 二分答案

拓展

二分答案

思想

解题的时候往往会考虑枚举答案然后检验枚举的值是否正确。若满足单调性,则满足使用二分法的条件。用二分来替代顺序枚举,就变成了「二分答案」。

二分过程的规则如下:

  1. 每次测试中间位置 M 处的元素,其中 M = (L+R)>>1 向下取整。
  2. 如果测试不正确,则收缩左界:L ← M+1,可以跨过 M,因为它不属于可行解。
  3. 如果测试正确,则收缩右界:R ← M,注意 M 仍在可行解范围内。
  4. 不断收缩可行解范围,直到 L==R 为止,即得到左边界。
例:借教室
例:值等于索引的元素

给定一个有序整数数组 A,其中元素各不相同,要求确认是否在其中存在一个索引 i 可以使得 A[i] = i 。                                                                                               -- 来自 《算法概论》 习题 2.17

题型:最大值最小化问题

(专门整理一期,等整理出来了把链接放评论区)

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值