题目传送门:https://codeforces.com/problemset/problem/69/E
题目大意:
给定长度为\(n\)的序列\(A\),再给定数\(k\),记\(B_i=\max\limits_{j=i}^{i+k-1}\{A_j\times[C_{A_j}=1]\}\),其中\(C_x\)表示\(x\)在\(A_{i...i+k-1}\)中的出现次数,即\(B_i\)表示\(A_{i...i+k-1}\)中出现一次的数中最大的一个
求\(B_1,...,B_{n-k+1}\)的值
这题可以套用类似莫队的思想,每次区间向后移动一位时,加入一个数再剔除一个数即可
\(C_x=1\)的数随便用个数据结构维护就行,这里我选用的是set
注:set访问最后一个元素应该用.rbegin()函数。。。
/*program from Wolfycz*/
#include