https://www.luogu.com.cn/problem/P5843
因为保证了互不相交,并且出发点和终止点也不相交,所以可以考虑建树
考虑一条与yyy轴平行的一条直线,从左往右扫,扫到一个图形左端点的时候,把它的上下的边界加进去,扫到右端点的时候把它的上下边界删掉
在加入的时候,看一下下边界往下已经加入的当中最近的是那条边界,如果是xxx的上边界,那么fa[i]=fa[x]fa[i]=fa[x]fa[i]=fa[x]他们显然是兄弟,否则xxx一定包含i,fa[i]=xi,fa[i]=xi,fa[i]=x,
建好树之后发现题目就变成了单点修改,询问路径异或和,做个树上前缀异或和,变成子树修改,单点查询,树状数组维护即可
好长啊,不想写