问一道题
  • 板块学术版
  • 楼主Feyn
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/1/31 08:26
  • 上次更新2023/10/24 02:27:25
查看原帖
问一道题
302383
Feyn楼主2023/1/31 08:26

不知道可不可做(可以适当弱化?),题意是说:

给定一张有 nn 个点的有向图,两两之间有边,边的方向用以下方法生成:

一开始连接 x,y(x<y)x,y(x<y) 的边的方向是 xyx\rightarrow y(也就是编号小的点向大的点连),接下来有 mm 次操作,每次给定两个不相交的区间 [l1,r1],[l2,r2][l_1,r_1],[l_2,r_2],把所有连接 x,y(x[l1,r1],y[l2,r2])x,y(x\in[l_1,r_1],y\in[l_2,r_2]) 的边反向。

在生成这张图之后有 qq 次询问,每次询问给定一个区间 [l,r][l,r],表示只保留原图中编号在 [l,r][l,r] 中的点之后,这张新图有多少个三元环(也就是长度为 33 的环)。

目前不成熟的想法是使用莫队,显然考虑不合法的三元环数量,设每个点的出度是 dd,不合法的三元环数量是 (di2)\sum\binom{d_i}{2},考虑指针移动时带来的影响,以右移为例,会发现变化量分为两个部分,一个是自己本身 (dr2)\binom{d_r}{2},一种是前面一堆的变化量,具体而言就是在 [l,r1][l,r-1] 中连向 rr 的点集为 SS,变化量可以发现是 iSdi\sum\limits_{i\in S}d_i,然后感觉这个东西似乎不是很好维护。如果要二次离线的话感觉不太好维护呢(有可能是我太弱了)。总之希望有大佬可以给点提示啥的,感激不尽。

2023/1/31 08:26
加载中...