[CF731D]80-th Level Archeology

80-th Level Archeology

题解

很明显,要使序列A小于序列B所需操作次数的区间一定是连续的,在1到n的环上连续。

于是,我们可以先O\left(1 \right )地求出使前一个区间小于后一个区间的操作次数区间,然后通过差分将其加上去,最后只要找出所有区间都重合在一起的位置就好了。

源码

#include
using namespace std;
#define MAXN 1000005
#define lowbit(x) (x&-x)
typedef long long LL;
typedef pair pii;
int n,c,cnt[MAXN],sum;
vector s[MAXN*10];
void calc(int x,int y){
	int id=0;
	while(id

谢谢!!!

你可能感兴趣的:([CF731D]80-th Level Archeology)