1000 堆栈
1001 模拟
1002 单调队列
1003 快速幂
1004 维护五个值的线段树。。。。。
果然只有单调队列我能实现。。。
http://blog.csdn.net/justmeh/article/details/5844650#comments
讲得不错
struct Node
{
int val;
int index;
};
void GetMax(int *numSequence,int len, int *result,int k)
{
Node *que = new Node[len];
int head = 0;
int end = 0;
for(int i=0;i<len;i++)
{
Node tmp;
tmp.val = numSequence[i];
tmp.index = i;
while(end!=0 && que[end].val<=numSequence[i])
--end;
++end;
que[end] = tmp;
while(end!=0 && que[head].index<i-k+1)
++head;
result[i] = que[head].val;
}
delete []que;
}