
其他 单调队列
文章平均质量分 76
Fsss_7
这个作者很懒,什么都没留下…
展开
-
最大子序和(单调队列优化)
TYVJ1305:输入一个长度为n的整数序列,从中找出一段不超过m的连续子序列,使得子序列的和最大。例如 1,-3,5,1,-2,3当m=4时,S=5+1-2+3=7当m=2或m=3时,S=5+1=6input第一行:n,m第二行:n个数output最大的和sum题目分析:首先我们知道O(n)可以很简单的解决原题(不限制子序列的长度)。但是这原创 2015-01-16 18:07:15 · 809 阅读 · 0 评论 -
Codeforces Round #277 (Div. 2)E题
The next "Data Structures and Algorithms" lesson will be about Longest Increasing Subsequence (LIS for short) of a sequence. For better understanding, Nam decided to learn it a few days before the les原创 2014-12-06 16:17:04 · 630 阅读 · 0 评论 -
Codeforces Round #344 (Div. 2)
链接:http://codeforces.com/contest/631problemA:给定两个数组A,B。设f(x,l,r)=x[l]|x[l+1]...|x[r],求max(f(A,l,r)+f(B,l,r))。分析:因为是取或是贪心变大,所以我们把整个数组或起来即可,即l==1&&r==n。O(n)代码:#include#include#include#include原创 2016-03-05 23:31:17 · 411 阅读 · 0 评论 -
gdutProblem E: 积木积水
链接:http://gdutcode.sinaapp.com/problem.php?cid=1039&pid=4题意:中文题。分析:很显然想要积水,要组成一个凹形。那么我们只要维护一个单调递减的栈,然后每来一个右边界我们就去夹出一个凹形。代码:#include#include#include#include#include#include#include#inclu原创 2016-04-10 22:07:42 · 604 阅读 · 0 评论 -
Codeforces Round #361 (Div. 2)D. Friends and Subsequences
链接:http://codeforces.com/contest/689/problem/D题意:给定两个长度为n的数组a,b。求有多少个区间[l,r]有max(a[l]~a[r])==min(b[l]~b[r])。分析:对于每一个a[i]找到它为最大的值的区间最大边界l[i]和r[i],同样处理b数组。然后我们枚举以每一个a[i]为区间max来和b数组计数,注意下去重就行了。代码:原创 2016-07-07 21:04:13 · 487 阅读 · 0 评论 -
hdu5945Fxx and game
链接:http://acm.hdu.edu.cn/showproblem.php?pid=5945题意:求数x最少经过多少次变换能变为1,(1)如果x%k==0,那么可以x=x/k。(2)x=x-i,(1分析:现在连B题都要单调队列优化dp了。。大意了。我们维护一个变换次数递增的单调队列,然后每次维护在t内然后用队头去更新当前点,如果i%k==0就特判一下就行了。代码:#inclu原创 2016-10-29 22:00:50 · 870 阅读 · 0 评论