
算法设计-TowPointer
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
uva 1121 - Subsequence(TwoPointer)
题目链接:uva 1121 - Subsequence题目大意:给出一个序列,要求求出序列中最短子序列的元素和不小于k的长度。解题思路:r维护加入,l维护减除,r - l即为当前个数。#include #include #include using namespace std;const int N = 100005;int n, k, num[N原创 2014-01-22 22:28:58 · 1548 阅读 · 0 评论 -
uva 11572 - Unique Snowflakes(Towpointer)
题目连接:uva 11572 - Unique Snowflakes题目大意:给出一个字符串,找出最长的连续子串不含相同的数字。解题思路:Towpointer,维护一个区间,保证没有相同的数字,同时维护最大长度。然后有因为数字比较大不能开数组直接记录,所以用map离散化。#include #include #include #include using原创 2014-01-31 23:03:36 · 2066 阅读 · 0 评论 -
uva 11536 - Smallest Sub-Array(Towpointer)
题目大意:uva 11536 - Smallest Sub-Array题目大意:按照题目中的要求构造出一个序列,找出最短的子序列,包含1~k。解题思路:先根据题目的方法构造出序列,然后用Towpointer的方法,用v[i]来记录当前[l, r]中有几个i;当r移动时,出现v[i] == 1时, c++(用来记录有几个1~k的数字);当c == k 时,就要移动l,当出现v原创 2014-01-31 23:16:38 · 2986 阅读 · 0 评论 -
hdu 4737 A Bit Fun(TwoPointer)
题目链接;hdu 4737 A Bit Fun题目大意:给定一个长度为n的序列,现在问说有多少对i,j满足 f(i,j)m.解题思路: Twopointer,将每个数拆分成二进制形式,然后维护连个指针l,r,保证f(l, r) #include #include #include using namespace std;typedef long long ll;原创 2014-09-08 14:09:32 · 1134 阅读 · 0 评论 -
hdu 5358 First One(二进制+twopoint)
题目链接:hdu 5358 First One枚举二进制位k,考虑每个S(i,j) ≥ 2^k,用twopoint维护。复杂度o(nlogn)#include #include #include #include using namespace std;typedef long long ll;const int bitn = 36;const int m原创 2015-08-07 19:15:15 · 919 阅读 · 0 评论 -
hdu 5288 OO’s Sequence(two point + rmq)
题目链接:hdu 5288 OO’s Sequence#include #include #include #include using namespace std;const int maxn = 1e4 + 5;const int maxm = 1e5 + 5;const int mod = 1e9 + 7;int N, v[maxm], a[maxm], l[max原创 2015-07-28 20:30:48 · 637 阅读 · 0 评论 -
Leetcode 001 Two Sum (Towpoint)
题目连接:Leetcode 001 Two Sum (Towpoint)解题思路:将数组排序,然后左指针从数组起始位置开始,右指针从数组终止位置开始。如果两个指针指向的值的和小于目标值,移动左指针,如果和大于目标值,移动右指针,直到和等于目标值。class Solution { public: vector<int> twoSum(vector<int>& n...原创 2018-06-06 20:09:05 · 241 阅读 · 0 评论