2022春每日一题:Day 36


题目:[JLOI2013]删除物品

直接做显然比较复杂,这个题是说对顶栈,但是可以把两个栈拼在一起,记录一下栈顶的下标,然后这样这题就可以转化为线性上的操作查询了,用树状数组简单维护一下就ok了(某个数是否存在,单点修改+区间查询)
代码:

#include 
#include 
#include 
#include 
#define lowbit(x) x&-x
const int N=1e5+5;
using namespace std;
int n1,n2,a[N],b[N],c[N],n,dy[N];
struct pos
{
	int id,v;
	pos(int ii,int vv)
	{
		id=ii;v=vv;
	}
	pos(){
	}
	friend bool operator < (pos a,pos b)
	{
		return a.v