786. 第 K 个最小的素数分数 我们可以二分,L=0,R=1,那么取mid就是0.5,逐个逼近。令结果分数初始化为0/1,m=0,n=1,取完mid再在数组里找小于等于mid的分数个数,同时更新m和n的值,只要Ai/aj的值大于m/n的就更新,直到找到取完mid再在数组里找小于等于mid的分数个 ...
分类:
其他好文 时间:
2020-06-27 00:25:20
阅读次数:
47
378. 有序矩阵中第K小的元素 第一种方法:将二维矩阵中的数存起来,然后排序输出第k个,耗时较多 class Solution { public: int kthSmallest(vector<vector<int>>& matrix, int k) { vector<int>v; for(int ...
分类:
编程语言 时间:
2020-06-26 22:25:37
阅读次数:
63
题目 https://www.luogu.com.cn/problem/P1396 分析 这道题与这道题很相似,只不过那道题需要使用dijkstra判断是否到达,而本题只需要使用DFS来判断 大概思路就是这种最大值中的最小的问题: 先找到题目中用到的拥挤度的最大值以及最小值,然后在这个范围内进行二分 ...
分类:
其他好文 时间:
2020-06-26 20:20:24
阅读次数:
62
导入头文件 编写代码过程中,涉及动态内存分配等常用的函数,需要引入如下头文件 #include<stdio.h> #include<stdlib.h> 结构体定义 // 定义二分搜索树结构体 typedef struct Node { int data; struct Node * left; st ...
分类:
编程语言 时间:
2020-06-26 18:43:11
阅读次数:
77
用倍增法求后缀数组、名次数组 sa为后缀数组、rank为名次数组 //二分查找法,返回最接近的位置和实际位置 function binary_find(id,hasSortArr){ let l=0,r=hasSortArr.length; let index=-1; while(r-l>0){ c ...
分类:
编程语言 时间:
2020-06-26 16:39:28
阅读次数:
53
719. 找出第 k 小的距离对 思路: 首先采用了暴力求差值,11组数据超时,优化后利用map来求,结果在最后的两组超时。。然而还是要用二分写,二分差值,最小的为0,最大的是排完序后最后一个数的值减去第一个数的值,取mid,然后在原来数组里继续二分找有多少对差值cnt是小于等于mid的。 若对数c ...
分类:
其他好文 时间:
2020-06-26 14:32:06
阅读次数:
54
CSDN同步 前记 上次 \(A\) 卷 $155$,\(B\) 卷 $360$ ;一个退役,一个进队。 所以说很不爽,来把 \(A\) 卷的题再看一遍。 冰火战士 上次只看了 $10$ 分的暴力,认真了才发现答案是 $2 \times \min { ice,fire }$,随便弄个数据结构二分维护 ...
分类:
其他好文 时间:
2020-06-26 14:22:48
阅读次数:
87
解释:把数组的每个数字相加 代码: 1 static int Sum2(int[] a, int lo, int hi) 2 { 3 if (lo==hi) 4 { 5 return a[lo]; 6 } 7 int mi = (lo + hi) / 2; 8 return Sum2(a, lo, ...
分类:
编程语言 时间:
2020-06-26 14:17:58
阅读次数:
90
题目描述: 提交: class Solution: from typing import List def avoidFlood(self, rains: List[int]) -> List[int]: import heapq heap = [] res = [-1 if i != 0 else ...
分类:
其他好文 时间:
2020-06-26 11:00:34
阅读次数:
70
##题面 题目链接 ##思路 朴素的想法我们回去暴力修改区间元素,从而判断教室能否够用,但是看数据范围显然这会超时,既然区间问题我们立马想到前缀和和差分数组,and线段树和树状数组,这里不写树状数组和线段树的做法。我们看数据测试量,然后看了一下,这个答案具有线性性质,所以我们可以二分加速,所以我们二 ...
分类:
编程语言 时间:
2020-06-26 10:45:01
阅读次数:
128