摘要:
很裸的单调队列问题,不过O(n)的算法写出来5188+ms,超5s了。。。谁能告诉我500+ms的神级代码是什么。。.T_TMy Code:#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int N = 1000005;struct node { int i; int num;}q[N];int ans[N];int b[N];int main() { //freopen("data.in", "r", st 阅读全文
摘要:
话说单调队列!= 优先队列。可怜我捧着算导看了半天优先队列。题意读的很费劲,最后问得师兄。就是给定一个M,然后再给一个序列,求给出的序列里连续M个数中的最大值。最后把这些最大值输出,其实就是很裸的单调队列。然后开始在网上搜有关单调队列的资料,从这里http://www.felix021.com/blog/read.php?1965学会的。其实就是维持队列的单调性,别管是单调增还是单调减。队头元素永远是最列的最小值(或最大值)。 #include <iostream>#include <cstdio>#include <cstring>using namesp 阅读全文