二分法

二分查找:剑指 Offer 53 - I. 在排序数组中查找数字 I

题目描述: 统计一个数字在排序数组中出现的次数。 提示: •0 <= nums.length <= 105 •-109 <= nums[i] <= 109 •nums 是一个非递减数组 •-109 <= target <= 109 解题思路:排序数组中的搜索问题,首先想到 二分法 解决。 排序数组 ......
数组 数字 Offer 53

二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums ......

二分查找:剑指 Offer 11. 旋转数组的最小数字

题目描述: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 给你一个可能存在 重复 元素值的数组 numbers ,它原来是一个升序排列的数组,并按上述情形进行了一次旋转。请返回旋转数组的最小元素。 例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一次旋转,该数 ......
数组 数字 Offer 11

选择排序和二分查找

选择排序 二分查找 ......

代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。

#目录 一、基础知识 - 二分法解题思路 - 数组中删除的思路 二、题目一:704.二分查找 三、题目二:27.移除元素 #一、基础知识 1.二分法解题思路 要求数组必须是有序排列,仅需要根据题目的条件去确定搜索区间。 第一个关键点:区间的取值。 一般有左闭右闭,左闭右开,左开右闭三种,这个的选择不 ......
随想录 训练营 随想 算法 元素

Codeforces Round 850 (Div. 2, based on VK Cup 2022 - Final Round) E. Monsters (hard version) 线段树二分

传送门 详细题解传送门 ** 抄的ygg代码,向在这里说一下刚开始没看懂的部分。** ** 求答案的时候是把所有的当前为止的所有数值加起来减去一个从1开始并且公差为1的等差数列的前size项和。其中size是当前最多能用到哪个位置,满足前size项能构成1,2,3,....,sz这样的形式。** * ......
线段 Round Codeforces Monsters version

704. 二分查找(leetcode)

https://leetcode.cn/problems/binary-search/ 简单二分 class Solution { public: int search(vector<int>& nums, int target) { int l=0,r=nums.size()-1; while(l ......
leetcode 704

二分图最大匹配

#include <bits/stdc++.h> using namespace std; const int N = 2e5 + 10; int e[N], h[N], ne[N], idx; void add(int a, int b) { e[++ idx] = b, ne[idx] = h[ ......

查找(1.顺序查找、2.二分法查找)

顺序查找 既是for循环,在循环内用if匹配 输入的值是否有对等,有即返回对应结果 如果for循环下,没有对应的匹配值,要返回提示没找到 用如下方法 二分法查找 1.必须是一个有序的列表 2.先找到数组的中间值, 拿输入值与其配对 3.如果值是小了往左边选中间值,再匹对。 反之向右... ......
二分法 顺序

704二分查找

力扣刷题 704.二分查找--day1 解法 一、暴力解法 //暴力解法 int search(vector<int>& nums, int target) { for(int i = 0; i<nums.size(); i++){ if(nums[i] == target) return i; } ......
704

算法刷题系列——二分查找

704. 二分查找(2023.4.17) 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = ......
算法

day 9 二分查找

1.输入一组有序数列; 2.每次查找序列的中间位置并与目标数比较; 3.依据比较缩小数列,直到找到目标数或数列长度为1; 4.输出; #include<iostream>using namespace std; int n,t,flag; int a[100];int f(int l, int r) ......
day

二分查找

给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 示例 1: 输入: nums = [-1,0,3,5,9,12], target = 9 输出: 4 解释: 9 出现在 num ......

[测试博客题解]二分模板(导弹拦截)

[洛谷NOIP1999 普及组] 导弹拦截(DP+二分维护单调不上升和单调下降子序列) 首先用二分不断替换or添加 维护一个不上升子序列 第二个维护的是每次新系统的子序列末尾的min值的一个数组 int main() { int x; while (cin >> x) a[++n] = x; int ......
题解 导弹 模板 博客

二分查找

经典二分查找,给定一个升序的整形数组nums和一个目标值target,查找target在nums中的位置,如果目标值存在返回下标,否则返回-1 public class Solution { public int Search(int[] nums, int target) { return Bin ......

二分图

##二分图简介 定义:二分图的顶点集可分割为两个互不相交的子集,图中每条边依附的两个顶点都分属于这两个子集,且两个子集内的顶点不相邻。 首先,二分图作为一种特殊的图模型,会被很多高级图算法(比如最大流算法)用到,不过这些高级算法我们不是特别有必要去掌握,有兴趣的读者可以自行搜索。 从简单实用的角度来 ......

AGC002D Stamp Rally 多种做法 kruskal重构树/可持久化并查集/整体二分

D - Stamp Rally (atcoder.jp) 这题做法很多,我写的是可持久化并查集做法,但是裸的可持久化并查集是 $O(nlog^3n)$,能过但是很慢!看洛谷的题解有一位大佬写了一个很妙的并查集的写法,按秩合并,每一步合并时用vector记录一下这个被合并到的节点的size和当前的时间 ......
做法 多种 整体 kruskal Stamp

代码随想录算法训练营Day01 | LeetCode704 二分查找、Leetcode27 移除元素

今日学习的视频和文章 代码随想录数组基础 复习基础知识 代码随想录 二分查找 代码随想录 移除元素 LeetCode704 二分查找 题目链接:704. 二分查找 - 力扣(Leetcode) 以前学二分查找的时候,真的一直搞不清楚怎么操作左边界和有边界,以及循环的终止条件是什么,总是自己慢慢调试出 ......
随想录 训练营 随想 算法 LeetCode

二分法查找子序列

判断子序列 二分思路主要是对t进行预处理,用一个字典index将每个字符出现的索引位置按顺序存储下来 int m = s.length(), n = t.length(); vector<vector<int>> index(256, vector<int>()); // 先记下 t 中每个字符出现 ......
二分法 序列

LeetCode习题——有效的完全平方数(二分查找)

有效的完全平方数 力扣链接:367. 有效的完全平方数 题目 给你一个正整数 num 。如果 num 是一个完全平方数,则返回 true ,否则返回 false 。 完全平方数是一个可以写成某个整数的平方的整数。换句话说,它可以写成某个整数和自身的乘积。 不能使用任何内置的库函数,如 sqrt 。 ......
习题 LeetCode

Java中常用查找算法及示例-顺序查找、二分查找、差值查找、斐波那契查找

场景 Java中对数据需要进行查找,归纳整理常用查找算法及示例。 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 实现 1、顺序查找 顺序查找法就是将数据一项一项地按照顺序逐个查找,所以不管数据顺序如何, 都得从头到位遍历一遍。该方法的优点就是文件在 ......
差值 示例 算法 顺序 常用

【LBLD】我写了首诗,让你闭着眼睛也能写对二分搜索

我写了首诗,让你闭着眼睛也能写对二分搜索 704. 二分查找 class Solution { public: int search(vector<int>& nums, int target) { int left = 0, right = nums.size() - 1; while (left ......
首诗 LBLD

Removing Stones (牛客多校) (!分治!.二分)

题目大意: 给出n堆石头, 给出每堆石头的数量, 问有多少对合法的 l,r 使得L,R 区间内的最大值的*2 < =区间总和 思路: 从最大值入手, ->为了方便处理 就利用分治 去 处理出当前的最大值要考虑区间范围是那些 首先通过st 表来预处理 出 l,r 的最大值的位置 分治 dfs(l,r) ......
Removing Stones

二分基础

复健$Day2$ 今天复习二分,使用这种方法的比较明显的提示是使最大值最小,最小值最大,并且原序列有序或者说可以忽略次序 二分的基本模板 $1.$闭区间写法 int binary_search(int l,int r,int target)//返回使check值大于等于target的最小的i(也就是 ......
基础

二分图学习笔记

定义 $1.$ 点数量 $\ge$ 2 $2.$ 没有奇环 二分图染色 深搜,0和1两种,相邻染不一样颜色,如果最后有冲突就不是二分图。 二分图匹配 定义 没有 $2$ 条边公用 $1$ 个点 极大匹配 无法通过加边的方式增加匹配的数量 最大匹配 边数最多的极大匹配 完全匹配 没有孤立点的匹配 匈牙 ......
笔记

二分查找 (easy 704. 二分查找)

虽然也刷了一些题了, 但是没有总结, 这样效率不高. 之后刷题都写一下总结. LeetCode上的标记 : 红色 不通过 紫色 有待优化 绿色 达到期望 (easy 704. 二分查找) :pushpin:001 递归 开始用递归写了一遍, 代码写得很长 递归要注意target的值在哪个范围, 如果 ......
easy 704

利用envi计算二分类(多分类)精度评价指标及混淆矩阵计算

前言 导师需要我将预测的几个结果单独计算出每一张图的精度评价,包含以下指标:iou,recall,F1。 因为他说我利用代码批量计算的结果有误。 如果是这样的话可就坏了,希望我的结果没有出太多错误,不然已经做过计算的某些内容又需要全部重新计算了。 利用envi计算精度指标 使用tif格式影像 师姐说 ......
矩阵 精度 指标 envi

10、二分搜索树

1、二分搜索树 二分搜索树是一课二叉树,任意一个节点,左子树都比它小,右子树都比它大 存储的元素必须可比较,对重复元素不做处理 增、删、查:最差 O(n),平均 O(h),h = logN 向二分搜索树有序的添加元素时,会退化为链表 public class BST<E extends Compar ......

9、二分查找

1、二分查找法 我们这次实现一个比线性查找法快很多的算法,二分查找法,它的复杂度是 O(logN) public class BinarySearch { private BinarySearch() { } /** * 二分查找法递归实现 */ public static <E extends C ......

二分查找模板

#include <iostream>using namespace std; const int N = 1e6 + 10;int n,m;int q[N]; int main(){ cin>>n>>m; for(int i=0;i<n;i++) cin>>q[i]; while(m--) { i ......
模板