摘要:
题面传送门 按照题目要求递推即可 代码实现: #include<cstdio> #define min(a,b) ((a)<(b)?(a):(b)) using namespace std; int n,f[10039],a[10039]; int main(){ register int i,j; 阅读全文
摘要:
题面传送门 一看到最大最小值,而且是区间,立马想到两个东西:$st$和单调队列。这里介绍一种$st$表的做法。 但这可是二维,我们只学过一维的。 回想一下之前的前缀和和差分,我们是怎么一维转多维的。 维恩图! 首先是建表,肯定还是拿来拼,四个小正方形拼一个大正方形。 设$stmax_{i,j,k}$ 阅读全文
摘要:
题面传送门 这道题可以任意$\pm x$,所以可以$%x$考虑。将每一个数进来后$%x$并加入一个数组f中,设$f_i$为$%x=i$的数有几个。同时有一个指针为$head$。 若$head<x$,那么$f_>0$,\(head++\) 如果$head\geq x$,那么就要先满足小的,再来管大的。 阅读全文