二分法

整体二分总结

整体二分总结 整体二分,就是一种高效离线处理可二分答案的询问的方法,可以代替例如树套树这种高级数据结构。 例题: 1.P1527 [国家集训队]矩阵乘法 题意:多次询问,求子矩阵第$k$小数。 思路:先考虑如果只有一个询问,可以二分答案,把矩阵中小于等于$mid$的数赋1,大于的赋0,那么如果子矩阵 ......
整体

二分图匹配的那些事

$\color{lightblue}\text{skill1}$ 最小点覆盖(每条边至少选一个点)=最大匹配 最大独立集(每条边最多选一个点)=总点数-最小点覆盖 一般匈牙利只用建单向边就行了(从左到右),而从右到左用的是 $match$ 数组。 $\color{purple}\text{P4304 ......

浅谈整体二分

有的时候通过二分答案可以很容易的得到答案,所以我们考虑将所有的操作和询问离线下来,对整体进行二分,从而实现问题的求解。 在处理问题时,一个操作或询问一般只会对二分的左半边或者右半边中的一个做贡献,所以单层的操作数是线性的,全局的操作数是线性对数的,保证的询问的复杂度。 [国家集训队]矩阵乘法 给定一 ......
整体

二分法

关于二分法: 二分法使用要求 待查找的数据集必须有序 二分法的缺陷 针对开头结尾的数据 查找效率很低 常见算法的原理以及伪代码 二分法、冒泡、快拍、插入、堆排、桶排、数据结构(链表 约瑟夫问题 如何链表是否成环) 现在咱有个需求查找列表中某个数据值 l1 = [12, 21, 32, 43, 56, ......
二分法

2023.3.28 【模板】KM算法 | 二分图最大权完美匹配

2023.3.28 【模板】KM算法 | 二分图最大权完美匹配 题目概述 给定一张二分图,左右部均有 $n$ 个点,共有 $m$ 条带权边,且保证有完美匹配。 求一种完美匹配的方案,使得最终匹配边的边权之和最大。 数据规模与约定 对于 $100%$ 的数据,满足 $1\leq n\leq 500$, ......
算法 模板 2023 28

Catch HDU - 3478 (二分图)

题意:我们把一个城市考虑为一个图, 街道为边, 路口为点, 路口标记为 0~N-1. 盗贼从一个点开始逃亡, 每一分钟走一条边。不幸的是, 我们并不知道他逃往何处, 只能假设他每分钟都必须沿着一条边走, 不能停留但是可以反复经过。警官想要知道是否存在一个时刻, 盗贼可能出现在城市中的任意路口。 分析 ......
Catch 3478 HDU

LeetCode 周赛 338,贪心 / 埃氏筛 / 欧氏线性筛 / 前缀和 / 二分查找 / 拓扑排序

本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问。 大家好,我是小彭。 上周末是 LeetCode 第 338 场周赛,你参加了吗?这场周赛覆盖的知识点很多,第四题称得上是近期几场周赛的天花板。 小彭的技术交流群 02 群来了,公众号回复 “加群” 加入我们~ ......
拓扑 前缀 线性 LeetCode 338

算法—二分法详解

二分法详解 1.二分法 在计算机科学中,二分查找算法也称折半搜索算法,对数搜索算法,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一 ......
二分法 算法

二分查找

#include <bits/stdc++.h> using namespace std; int main(int argc, char** argv) { int index=1; srand(time(0)); int num=rand()%100; do{ int n; cin>>n; if ......

二分查找--找数字

#include <iostream> #include <cstdlib> #include <ctime> using namespace std; int main(int argc, char** argv) { int x; srand(time(0)); do{ int num=rand ......
数字

二分查找法

二分查找法必须满足要查找的数据是有序排列的,当min>max循环结束 二分查找小结: ......

力扣-数组-二分查找704

1 class Solution(object): 2 def search(self, nums, target): 3 """ 4 :type nums: List[int] 5 :type target: int 6 :rtype: int 7 """ 8 ## 暴力循环法 9 # for i ......
数组 704

[省选复习] 最小割/二分图最大匹配有关结论

网上搜集的,怕忘了,记录一下。 摘自 $\text{OI-wiki}$,$\text{mina}$ 等各种各样乱七八遭的地方。 最小割 源点 $s$,汇点 $t$。 记对残量网络跑 $\text{tarjan}$ 得到的第 $i$ 个点所在 $\text{SCC}$ 编号为 $scc_i$ 最小割方 ......
结论

「学习笔记」二分图

「学习笔记」二分图 点击查看目录 知识点 定义及判定 定义:存在一种方案把点分为两个集合,使得同一个集合内的点没有连边的图。 比如这张图(by OI-Wiki): 判定:没有奇环。 考虑染色法,左边集合的点染成 $1$,左边集合的点染成 $0$。如果存在奇环则会有一个点不知道染成什么颜色,因此不是二 ......
笔记

P1570 KC 喝咖啡(小数二分)

P1570 KC 喝咖啡 题意:给定调料种数 $n$ 和能加入的调料数 $m$,以及每种调料的美味度 $v_i$,消耗的时间 $c_i$。 请选择单位时间的美味度最大的咖啡。 分析:$t=\frac{\sum{v_i}}{\sum{c_i}}$ 取最大值,二分答案找右边界。 但是如何确定元素合法? ......
小数 咖啡 P1570 1570 KC

P1163 银行贷款(小数二分)

P1163 银行贷款 分析 变量命名如下: $n$ 表示贷款的原值, $m$ 表示每月支付的分期付款金额, $k$ 表示分期付款还清贷款所需的总月数。 $p$ 表示贷款的月利率 第 $1$ 月利率为 $(1+p)$,其还款金额 $m$ 相当于借款金额 $\frac{m}{1+p}$ 第 $2$ 月利 ......
小数 银行 P1163 1163

二分

#二分算法(一个简单且非常实用的算法) ##算法思想,通过中间值不断缩短检索区域 --> 大大降低T的可能性 --> 只要是检索的题目都可以用二分查找来解决 ###算法思路: 1.确定左右边界 2.每次都要更新中间值 注意:你答案的更新并不是跟随中间值的更新一起的,而是在条件满足的时候进行更新 ## ......

前端算法之二分查找

在数组中查找指定元素,如果存在就返回它的位置,如果不存在,就返回-1。 这是一道非常经典的算法题,考的就是二分查找算法,首先分析二分查找的思路: 假设一个数组为 [3,5,19,22,25,33,45,47,57,66,71,78](已经从小到大排好序),要求找出数值80的位置,如图: ps: g  ......
前端 算法

[数据结构] 二分查找 (四种写法)

#二分查找 ##二分查找 二分查找(Binary Search)也叫作折半查找,前提是查找的顺序结构是有序的,我们一般在数组上进行二分查找。 二分查找就好像猜数字大小游戏一样。假设要数字目标值属于 [1, 1000] 范围内,当我们猜的数字小于这个目标值时("Too low"),我们需要往大去猜;反 ......
数据结构 写法 结构 数据

基础二分查找总结

前言 由于我在学习二分查找的过程中处于会了忘,忘了复习的状态,因此总结一套适合自己记忆的模板。建议先看参考资料$^{[1,2,3]}$,理解二分查找各种细节的由来。 二分查找又死循环了?【基础算法精讲 04】 手把手带你撕出正确的二分法 | 二分查找法 | 二分搜索法 | LeetCode:704. ......
基础
共530篇  :18/18页 首页上一页18下一页尾页