二分查找
二分查找
曼切斯特的流氓
007
展开
-
青蛙过河(二分+并查集)
来回x次,也就是从起点一共2x个青蛙走一遍到终点。用一个数组记录每次送多少个青蛙由i–>j。具体看acwing解析。原创 2023-04-06 21:19:35 · 255 阅读 · 0 评论 -
二分查找三种模板
前两种输出l或r都可以。原创 2023-04-06 17:54:09 · 246 阅读 · 0 评论 -
技能升级(二分+多路归并+贪心)蓝桥杯
6、最后二分出来的x,可能导致最后加入的个数大于m,因为可能有相等情况,所以要减去多出来的个数乘以x。3、一共n个等差数列,所以每次优先在n个等差数列中,选择最大的一项升级(贪心+多路归并思想)5、需要在O(n)复杂度处理多路归并,所以在计算一个等差数列有多少项满足a[i]>=x。2、最多可以加m次,所以肯定加的次数越多越好。4、需要二分出来加入的第m项攻击力是多少。计算公式为 (a[i]-x)/b+1。1、首先每一个技能否是一个等差数列。(x为二分枚举的第m次攻击力)原创 2023-04-06 13:00:43 · 536 阅读 · 0 评论 -
二分练习题
i指针指向最小值,只要sj-si,其中si越小整体肯定越大,所以i指针要维护最小值,每次判断sj-si是否大于0即可,如果大于0说明这段区间平均值大于avg,二分调整以此类推。在acwing查看解析没空写。二分带double情况。原创 2023-04-04 14:41:42 · 154 阅读 · 0 评论 -
二分查找(跳石头)
二分查找原创 2022-06-15 20:08:50 · 119 阅读 · 0 评论 -
矩形分割(二分答案)
题目 平面上有一个大矩形,其左下角坐标 (0,0),右上角坐标 (R,R)。大矩形内部包含一些小矩形,小矩形都平行于坐标轴且互不重叠。所有矩形的顶点都是整点。要求画一根平行于y轴的直线x=k( k 是整数),使得这些小矩形落在直线左边的面积必须大于等于落在右边的面积,且两边面积之差最小。并且,要使得大矩形在直线左边的的面积尽可能大。注意:若直线穿过一个小矩形,将会把它切成两个部分,分属左右两侧。 Input 第一行是整数 R,表示大矩形的右上角坐标是 (R,R)。 接下来的一行是整数 N,表示一共有原创 2021-04-20 17:52:21 · 2258 阅读 · 2 评论 -
二分查找以及变种问题(精简代码版)
Binary_search 二分查找是一种复杂度优秀的查找,可以解决大多数查找问题,其中还包括变种问题lower_bound、upper_bound 二分查找的前提一定要数组有序 #include <iostream> using namespace std; const int maxn=1e5+10; int n,k; int A[maxn]; int binarySearch(int key) { //初始化l最左侧-1个单位 //r最右侧多一个单位 i原创 2021-04-19 17:16:07 · 145 阅读 · 1 评论