two pointers通向扫描法。 #include<iostream> #include<algorithm> using namespace std; typedef long long LL; LL a[100010] = {0}; int main() { int n,p,max = -1 ...
分类:
其他好文 时间:
2020-02-18 13:04:59
阅读次数:
49
大致题意就是给定N个数,找出满足第i个数到第j个数的和SUM等于M(如果找不到,也可以找SUM-M>0差值最小)的i和j,并输出i-j。 思路:这题可以用二分法做,但是二分法边界值条件太多,容易出错,推荐使用two pointers。这题用的是two pointers同向扫描法,固定左边界,移动右边 ...
分类:
其他好文 时间:
2020-02-12 13:06:56
阅读次数:
61
1. 解法一 垂直扫描法 对于有关字符串数组的题目,可以巧妙利用java的异常机制来处理多种边界情况 2. 水平扫描法 (indexOf() 函数的参数可以是一个字符串,因此可以用 .indexOf(prefix) 是否为0 来 判断前缀是否相同,如果不相同就使用prefix的0 - length- ...
分类:
其他好文 时间:
2020-02-01 12:16:40
阅读次数:
61
方法一(纵向扫描) 解题思路 先计算出数组中最小的字符串长度,这样就避免了越界的情况,思路更加明确,但同时时间复杂度就相应的上升了。 先计算所有字符串在同一列上的字符是否相同,然后依次向后延伸。 代码及注释 class Solution { public: string longestCommonP ...
分类:
其他好文 时间:
2020-01-01 20:26:44
阅读次数:
67
"任意多边形面积—有向面积" "凸包算法(Graham扫描法)详解" "蒟蒻blog(计算几何入门)" ...
分类:
其他好文 时间:
2019-12-22 10:50:09
阅读次数:
71
题目链接:https://vjudge.net/problem/POJ-1113 题意:简化下题意即求凸包的周长+2×PI×r。 思路:用graham求凸包,模板是kuangbin的。 AC code: #include<cstdio> #include<cstring> #include<algo ...
分类:
其他好文 时间:
2019-11-09 14:07:10
阅读次数:
88
这道题我用了扫描法,悬线法还没有填坑 首先想到尽量减少枚举量,也就是尽量让每个矩形都是有意义的,那么只有障碍点边缘有价值,所以只需要从左到右扫描一遍,得到的全部都是有意义的。 那么这种方法是否还有遗漏呢? 答案是肯定的 因为我们从左到右搜,肯定是以左边为准线,那么如果一直延伸到右边,那么如果是右边延 ...
分类:
其他好文 时间:
2019-10-04 21:01:04
阅读次数:
109
一道思维题,主要用到的方法是思路转化。 首先考虑第一个村庄,首先他本身一定会用|a[1]|的劳动力 综上,我们通过扫描法来记录前几个村庄带给这个村庄的酒,累加劳动力就好了 ...
凸包:用一个凸多边形将所有点围起来,这个凸多边形就是凸包 1.先要引入一个数学工具,向量叉积 |c|=|a×b|=|a| |b|sinα (α为a,b向量之间的夹角) 则 |c| 为向量a ,b所组成的平行四边形的面积 这里是用叉积判断两向量的相对位置关系(非常有用!) 则 a x b < 0 (a ...
分类:
编程语言 时间:
2019-10-01 15:52:22
阅读次数:
116
雕爷学编程,Arduino动手做,开源硬件,创客传感器,4X4按键模块 ...
分类:
其他好文 时间:
2019-09-07 11:12:57
阅读次数:
118