RMQ
Marcus-Bao
这个作者很懒,什么都没留下…
展开
-
HDU - 5875 Function 二分+RMQ||线段树||暴力
题目链接 题意: 给出长度为n的正整数序列,q个询问[l,r] f(l,r) = f(l,r-1)%a[r] l f(l,r) = a[r] l=r 对于每个询问[l,r],输出f(l,r)的值 思路: 可以推出f(l,r)=a[l]%a[l+1]%...%a[r] 然后我们知道,因为是%,所以只有遇见第一个比a[l]原创 2017-09-03 23:41:25 · 323 阅读 · 0 评论 -
hdu 5726 区间gcd RMQ+二分 || 暴力枚举
题意:给定一个序列,每次询问一个区间 输出这个区间上所有数的GCD,以及GCD与其相同的区间个数 思路:首先我们要考虑到gcd随着区间长度的增加是非递增的,并且任何一个区间gcd的个数是log级别的 。所以对于这个题目我们可以固定右端点,然后枚举左端点,统计不同的gcd的个数,同时用map记录gcd的数量即可. 用一个vector 对应两个键值一个是区间的gcd,一个是从第i个位置往前所原创 2017-09-22 00:20:42 · 389 阅读 · 0 评论 -
hihocoder 1580 Matrix dp+RMQ (带修改的最大子阵和)
传送门 题意:给你一个n*m的矩阵,现在要求你必须修改矩阵的某一个值,问你能得到的最大子矩阵和是多少? 是这个题目的变形 思路:这个题目是在原有的最大子矩阵和的基础上的变形.首先预处理每一列的和,然后枚举两行,复杂度变成O(N3)O(N^3) 转变成最大子段和(老生常谈)现在我们来说说怎么修改? 我们为了使和最大,修改时肯定修改的是某一列的最小的那一个,这样才能使得和达到最大. 每次原创 2017-10-05 23:02:36 · 314 阅读 · 0 评论