
二段性问题(二分)
文章平均质量分 57
C+G
也就那样
展开
-
牛客-wyh的物品——通过验证得出二分的搜索区间
文章目录题目题目详解解题代码题目题目链接题目详解以下为手写详解下面总结这个做题步骤:二分搜索可能的最大单位价值。根据这个值得到每个数的单位价值情况s,根据s的值排序,得到前k大的s,相加得出我们枚举的这个最大单位价值是大了还是小了,方便后续二分!最后按保留两位小数,输出即可。解题代码#include<bits/stdc++.h>using namespace std;const int maxn = 1e5+5; int w[maxn],v[maxn];原创 2022-01-15 19:56:01 · 315 阅读 · 0 评论 -
leetcode情人节特辑——寻找单身狗
文章目录题目题目详解解题代码题目题目链接题目详解这题本应是简单题,就是简单的异或规律,但是题目要求使用 O(logn) 时间复杂度, O(1) 空间复杂度,而如果直接异或,只会是 O(n) 的时间复杂度。那么该如何去做呢?这题有二段性,什么叫二段性呢,就是能有一个分界点把特性一分为二。比如此题由于数据是有序的,所以数量为两个的元素会挨在一起,而且在 单身狗 左边连续的元素下标会有以下规律:两个相邻的相同元素中,第一个元素下标会是偶数,第二个是奇数。右边的连续元素下标会有以下规律:两个相邻的相同原创 2022-02-14 22:23:08 · 348 阅读 · 0 评论