先上例题:[HAOI2007]理想的正方形 大部分人都用单调队列,但我~~不会~~。首先我们可以暴力枚举所有的可能的正方形,每次我们需要查询RMQ,如果用朴素的方法总复杂度就会变成N^4,~~你不T谁T~~ 那怎么办,~~总不可能写正解~~吧,我们可以用二维st表,预处理N^2logN,每次O(1) ...
分类:
其他好文 时间:
2018-09-04 13:54:51
阅读次数:
345
看完题面想了一会发现只会写$n^3$,愣了一会才想出了单调队列优化的做法。 90分算法: 设$f_{i, j, k}$表示第$i$分钟在第$j$座城市已经走了$k$步的最大价值,转移显然,时间复杂度$O(n^3)$。 但是我没有实现它。 100分算法: 思考一下最终的答案是怎样选出来的,我们把矩阵画 ...
分类:
其他好文 时间:
2018-09-01 13:19:02
阅读次数:
156
单调队列 就是保持队列中的元素始终保持单调性,这个数据结构就是单调队列 它的作用就是维护最值、求第一个比i小(大)的数的下标等等 还有个单调栈来着,不过我们可以用一个双端队列就足够了 如果要维护最大值,就用单调递减队列,反之,用递增队列 1、hdu3530 Subsequence 单调队列入门题 这 ...
分类:
其他好文 时间:
2018-08-31 00:34:59
阅读次数:
211
题目描述 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小。 输入输出格式 输入格式: 第一行为3个整数,分别表示a,b,n的值 第二行至第a+1行每行为b个非负整数,表示矩阵中相应位置上的数。每行相邻两数之间用一空格分隔。 输出格式: ...
分类:
其他好文 时间:
2018-08-30 18:29:14
阅读次数:
138
题意:有编号为0~n-1的n个游戏,每个活动都有一个价值(可为负),给你m,s和k,你可以从任意一个编号开始玩,但是下一个游戏必须是编号为(i + k)%n的游戏,你最多能玩m次游戏,问你如果最后你手里要有s的价值,那么你至少一开始要有多少价值。 思路:由裴蜀定理可以知道,如果有n个值首尾相连,间隔 ...
分类:
其他好文 时间:
2018-08-29 01:16:53
阅读次数:
407
Description 给你一个单调不下降的长度为n的序列,请你找出一个最长的子序列,满足找出的子序列中,$A_i using namespace std; int n; int cnt=1; int maxcnt= 1; int a[200005]; int main() { cin n; for ...
分类:
其他好文 时间:
2018-08-26 20:51:13
阅读次数:
195
链接:HDU - 3415 题意:给出一个包含 n 个数的环,求满足长度大于 0 小于等于 k 的最大区间和。 题解:将数组加倍,形成环。求一个前缀和sum。枚举每一个sum[i],以 i 结尾的最大值就是 sum[i] - min(sum[i - k],……,sum[i - 1]),这个最小值用单 ...
分类:
其他好文 时间:
2018-08-26 18:24:53
阅读次数:
149
规定先维护head,head是来描述决策是否过时的变量,在此位置的变量处于极值,tail是来描述最后一位插入时应该放的位置,添加决策用tail,取决策使用head ...
分类:
其他好文 时间:
2018-08-26 18:23:58
阅读次数:
117
题目链接: https://www.cnblogs.com/Draymonder/p/9536681.html 同上一篇文章,只是 需要记录最大值的开始和结束的位置 ...
分类:
其他好文 时间:
2018-08-26 13:48:21
阅读次数:
171
Neko's loop Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 356 Accepted Submission(s): 56 Proble ...
分类:
其他好文 时间:
2018-08-26 13:44:45
阅读次数:
278