码迷,mamicode.com
首页 >  
搜索关键字:二分    ( 14969个结果
二分查找法基本原理和实践
概述 前面算法系列文章有写过分治算法基本原理和实践,对于分治算法主要是理解递归的过程。二分法是分治算法的一种,相比分治算法会简单很多,因为少了递归的存在。 在计算机科学中,二分查找算法(英语:binary search algorithm),也称折半搜索算法(英语:half-interval sea ...
分类:其他好文   时间:2021-07-26 16:54:02    阅读次数:0
【LG P1944】最长括号匹配
算法方向分析 对于这题 \(\le 1000000\) 的数据规模显然只允许我们用一重循环。 最长,可见这是道最值问题。 最值问题可以用贪心,DP,二分…… 这道题我们用 DP 来做。 构建状态 首先,我们需要构建状态,状态的构建不是唯一的,受最长上升子序列的影响,我是这样构建的:令 \(f_i\) ...
分类:其他好文   时间:2021-07-19 16:39:33    阅读次数:0
【LG P1314】聪明的质监员
这个题很明显的二分枚举,但是还有一个前缀和有点坑人。 这题题其实点不多,就两个关键点。 二分的判断 可以看到:在W取0时,所有的区间内的矿石都可以选上,而在W大于最大的质量时,所有的矿石都选不上。 然后简单算一下就发现:W越大,矿石选的越少,W越小,矿石选的越多。 所以,随着W增大,Y值减小。 所以 ...
分类:其他好文   时间:2021-07-19 16:34:37    阅读次数:0
基础算法之排序
前言: 冒泡,选择:使用了普通双指针法 插入,快速,归并:使用了二分法,递归 冒泡排序 原理:不断比较相邻两个数得大小,把较大的数交换到靠后的位置 def bubbleSort(iList): '''冒泡排序 ''' if len(iList) <= 1: return iList for i in ...
分类:编程语言   时间:2021-07-16 17:32:50    阅读次数:0
数据结构
数据结构 Java 数据结构 List List 都有序; 线程不安全; 有长度; 内部持有 modCount 记录修改次数 ArrayList 默认长度为10、超出长度时进行扩容(0.5倍),最大长度 2 的 31 次方 -8, 超出会OOM; 特点: 查快删改慢 LinkedList 双向链表, ...
分类:其他好文   时间:2021-07-12 18:04:31    阅读次数:0
POJ1087 A Plug for UNIX
题目大意: 有电器和配套的插座,以及每种无限个的装换插头 问:最少多少电器用不上电? 画画图,可以知道是一个二分图,中间结点需要用传递闭包优化掉 Floyd+匈牙利算法(二分图匹配) 1 #include<map> 2 #include<cmath> 3 #include<queue> 4 #inc ...
分类:其他好文   时间:2021-07-02 15:43:27    阅读次数:0
P3438 [POI2006]ZAB-Frogs
P3438 [POI2006]ZAB-Frogs 给出一个不一样的解法。不需要用到斜率优化等高级算法。 下文记 \(n=w_x,m=w_y\)。 首先,答案显然满足可二分性,因此二分答案 \(d\in [0,nm]\) 确定距离的平方。 这样我们将题目转化为:求起点到终点之间是否有一条路径使得任何一 ...
分类:其他好文   时间:2021-07-01 17:28:49    阅读次数:0
数据结构与算法基础01—— 常见基本排序、二分法与异或运算
?常见基本排序 选择排序 ? 基本思路:从第一位开始标记,每次选出最小数字与标记位交换 代码实现: private static void selectSort(int[] arr) { if(arr == null || arr.length < 2){ return; } for (int i ...
分类:编程语言   时间:2021-06-30 17:58:34    阅读次数:0
小凸玩矩阵
简单题,我秒了。 把$k=n*m-k$,等于询问$k$小值。 考虑二分,二分答案$md$,考虑判定是否存在一种方案使得$k$小值$\leq md$ 事实上就是判定是否存在一个选数方案使得$\leq md$的数数量$\geq k$。 题目中一行一列最多只能选择一个数,用$1$流量限制。 考虑二分图。把 ...
分类:其他好文   时间:2021-06-30 17:58:01    阅读次数:0
LIS
二分 求一个序列的最长上升子序列个数。 本程序采用边读边处理 + 二分法。 ll f[maxn], ans = 1; //注意答案个数初始化为1 int main() { ll n = read(); for (int i = 1; i <= n; ++i) { int x = read(); if ...
分类:其他好文   时间:2021-06-29 15:59:12    阅读次数:0
14969条   1 2 3 4 ... 1497 下一页
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!