不知道可不可做(可以适当弱化?),题意是说:
给定一张有 n 个点的有向图,两两之间有边,边的方向用以下方法生成:
一开始连接 x,y(x<y) 的边的方向是 x→y(也就是编号小的点向大的点连),接下来有 m 次操作,每次给定两个不相交的区间 [l1,r1],[l2,r2],把所有连接 x,y(x∈[l1,r1],y∈[l2,r2]) 的边反向。
在生成这张图之后有 q 次询问,每次询问给定一个区间 [l,r],表示只保留原图中编号在 [l,r] 中的点之后,这张新图有多少个三元环(也就是长度为 3 的环)。
目前不成熟的想法是使用莫队,显然考虑不合法的三元环数量,设每个点的出度是 d,不合法的三元环数量是 ∑(2di),考虑指针移动时带来的影响,以右移为例,会发现变化量分为两个部分,一个是自己本身 (2dr),一种是前面一堆的变化量,具体而言就是在 [l,r−1] 中连向 r 的点集为 S,变化量可以发现是 i∈S∑di,然后感觉这个东西似乎不是很好维护。如果要二次离线的话感觉不太好维护呢(有可能是我太弱了)。总之希望有大佬可以给点提示啥的,感激不尽。