网站首页 站内搜索

搜索结果

查询Tags标签: mid,共有 942条记录
  • 数据结构与算法--二分查找

    简介 二分查找又称折半查找、二分搜索、折半搜索等,是在分治算法基础上演变的查找算法二分查找算法仅适用于有序序列,它只能用在升序序列或者降序序列中查找目标元素二分查找局限性 依赖数组结构二分查找需要利用下标随机访问元素,如果使用链表等其他数据结构则无法实现…

    2022/7/30 14:22:49 人评论 次浏览
  • LeetCode 74 Search a 2D Matrix 二分

    Write an efficient algorithm that searches for a value target in an m x n integer matrix matrix. This matrix has the following properties:Integers in each row are sorted from left to right. The first integer of each row is greater than the last intege…

    2022/7/29 6:22:42 人评论 次浏览
  • 离散化算法

    离散化 什么是离散化?一些数据范围比较大,但是数据的个数不多,将其数字映射成较小的下标 从本质上来看离散化可以看成哈希,是一种特殊的哈希,其保证数据在哈希以后仍然保持原来的顺序离散化的步骤排序 去重(排序好了才能去重,可以用stl中的unique去重然后用erase去除…

    2022/7/29 1:24:08 人评论 次浏览
  • 二分搜索的递归与非递归实现

    二分搜索的非递归写法很直白,就是区间问题,维护三个变量从而达到搜索的目的,代码如下。int Binary_Search(SSTable L, ElemType key) {int low = 0, high = L.TableLen - 1,mid;//low和high是下标大小。while (low <= high) {mid = (low + high) / 2;if (L.elem[mid…

    2022/7/26 23:23:44 人评论 次浏览
  • day30

    1.剑指 Offer 17. 打印从 1 到最大的 n 位数1)直接列举(执行用时比分治短)1 class Solution {2 public:3 vector<int> printNumbers(int n) {4 vector<int> res;5 int num = 0;6 for(int i = 0;i < n;i ++)7 num = num…

    2022/7/26 23:23:19 人评论 次浏览
  • 35题:搜索插入位置

    例题:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。输入: nums = [1,3,5,6], target = 5 输出: 2输入: nums = [1,3,5,6], target = 2 输出: 1输…

    2022/7/25 23:25:28 人评论 次浏览
  • 1008 立方数 素数筛求约数 stl黑科技 二分 数论

    分析首度。我开vector,开map 都是tle,改成数组和cnt 计数就对了。//-------------------------代码----------------------------#define int ll const int N = 1e5+10; int n,m,primes[N],cnt; bool st[N];int qmi(int a,int b) {int res = 1;while(b) {if(b & 1) …

    2022/7/24 23:24:20 人评论 次浏览
  • Q1_1、2、……、n-1、n、n、n+1、……

    Q1_1、2、……、n-1、n、n、n+1、…… 图床:blogimg/刷题记录/Q/ 刷题代码汇总:https://www.cnblogs.com/geaming/p/16428234.html 题目 存在一个序列1、2、……、n-1、n、n、n+1、……在这个序列中,只有一个数字有重复,找出重复的数字n 1.若这个序列是有序的,试找到…

    2022/7/24 6:24:04 人评论 次浏览
  • "蔚来杯"2022牛客暑期多校训练营2 D Link with Game Glitch

    https://ac.nowcoder.com/acm/contest/33187/D 建边 \((b,d,c/a)\),那么会无限就说明有一个环边积大于 0 的环。 化积为和,对于边权都取 \(\log_2\),那么二分 \(w\),将每条边的边权变为 \(e[i].w-w\),那么变为是否有一个环边和大于 0,考虑并不是很好做,于是对于所有…

    2022/7/23 23:25:19 人评论 次浏览
  • 斐波那契(黄金分割发)查找算法(难点)

    1.斐波那契(黄金分割法)查找基本介绍 黄金分割点是指把一条线段分割为两部分,使其中一部分与全长之比等于另一部分与这部分之比。取其前三位数字的近似值是0.618。由于按此比例设计的造型十分美丽,因此称为黄金分割,也称为中外比。这是一个神奇的数字,会带来意向不到的…

    2022/7/20 9:20:44 人评论 次浏览
  • go语言整数二分模板

    首先我们明确,二分都是由于某个可以检查的条件,将一个区间分为两半所以我们首先有一个check函数,对中间mid进行判断func check(mid int) bool {} 第二步,对区间进行划分 两种区间的划分,对应两种写法// 区间[l, r]被划分成[l, mid]和[mid + 1, r]时使用:func bsearch…

    2022/7/16 23:46:22 人评论 次浏览
  • LeetCode 704 Binary Search 模板

    Given an array of integers nums which is sorted in ascending order, and an integer target, write a function to search target in nums. If target exists, then return its index. Otherwise, return \(-1\). You must write an algorithm with \(O(\log n)\) run…

    2022/7/16 6:20:15 人评论 次浏览
  • 1. 算法基础整合

    1. 基础算法 1.1 排序 1.1.1 快速排序 模板:Acwing785 快速排序 题目:将一个长度为 \(n\) 的数组 \(q\) 从小到大排序。 思路:选取界点 \(x\),一般为 \(q_{(l+r)/2}\)(\(l,r\) 为排序的左端点和右端点) 或随机选点(效率较高)。将 \(\le x\) 的数换到左边,将 \(\g…

    2022/7/15 14:20:28 人评论 次浏览
  • 如何理解分治一定能分到所有区间

    考虑当前层,是不是只分到左端点在 \([l,mid]\),右端点在 \([mid+1,r]\) 的区间? 那么是不是还差左右端点都在 \([l,mid]\) 的区间,左右端点都在 \([mid+1,r]\) 的区间?于是推锅分治下去即可,因为 \(solve(l,r)\) 的定义就是遍历了左右端点在 \([l,r]\) 的区间。

    2022/7/14 6:21:30 人评论 次浏览
  • [学习笔记]李超线段树

    这个之前学过的,结果我发现我忘了,怕之后再忘,我就再写一下吧。毕竟这个东西非常有用(好写)可以代替cdq/平衡树+斜率优化,来优化dp流程 数据结构本质是一棵线段树,每个节点都储存了\(bst[]\)。 \(bst[l,r]\)表示覆盖该点范围的在\(mid\)处取最值的线段。 你会想:维护…

    2022/7/12 23:22:11 人评论 次浏览
扫一扫关注最新编程教程