DP-TwoPoint
KIJamesQi
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
uva1121 Subsequence(入门级)
给定一个长为N的序列和s,求一个最小的子序列使得sum(子序列)>= s;思路:Twopoint,r维护加入,l维护减除,r-l+1就是这个结果,还要判断下是否存在这样的序列。int a[100001];int n, s;int main(int argc, const char * argv[]){ // freopen("in.txt","r",stdin);原创 2016-04-26 15:55:05 · 565 阅读 · 0 评论 -
uva11572 Unique Snow akes(入门级TwoPoint)
给定长度为N的序列,求最长的连续序列,这个序列中的数是不重复的。思路:TwoPoint,r维护加入,l维护减除,因为数字较大,需要用map来做离散化。const int maxn = 1000005;map mp;int a[maxn];int n;int main(){ //freopen("in.txt","r",stdin); //frepoen("out.原创 2016-04-26 16:19:22 · 836 阅读 · 0 评论 -
11536 Smallest Sub-Array(入门级TwoPoint)
先按照题目的意思把序列求出来。最后就是用TwoPoint的思想了。r表示入,l表示出。每进入一了就mp[a[r]]++, 如果a[r] 当cat == k时,这个时候就要把里面的数往外拿了,直到序列为空或者是cnt int nCase = 0;const int maxn = 1000005;int mp[maxn];//Count[a, b]int a[maxn];i原创 2016-04-26 16:55:59 · 647 阅读 · 0 评论
分享