#P16237. [IIOT2026]From Bucharest 2 Piatra Neamț从布加勒斯特到皮亚特拉-尼亚姆茨

    ID: 15448 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 8 上传者: 标签>图论数据结构强连通分量线段树并查集CF2500

[IIOT2026]From Bucharest 2 Piatra Neamț从布加勒斯特到皮亚特拉-尼亚姆茨

题目描述

马泰是一名来自皮亚特拉-尼亚姆茨国立信息学高中的优秀学生,目前正在布加勒斯特学习。听说 IIOT 总决赛将在家乡举办后,他希望确保自己不会错过比赛。

摩尔达维亚和蒙特尼亚的道路网络可以表示为一张包含 NN 个顶点(城市)和 MM 条有向边(道路)的有向图。

由于道路年久失修,政府批准了若干轮新道路建设。每轮建设属于以下三种类型之一:

  1. 1 x l r:从城市 xx 向区间 [l,r][l,r] 中的每一座城市修建一条有向道路;
  2. 2 x l r:从区间 [l,r][l,r] 中的每一座城市向城市 xx 修建一条有向道路;
  3. 3 l r:对于区间 [l,r][l,r] 中的任意一对城市 (x,y)(x,y),修建从 xxyy 的道路。换言之,该区间内任意两座城市之间都可以直接双向到达。

在所有道路建设完成后,马泰想知道:有多少个有序城市对 (u,v)(u,v),满足既存在从 uuvv 的路径,也存在从 vvuu 的路径?

允许 u=vu=v

输入格式

第一行包含两个整数 N,MN,M,分别表示城市数量和初始道路数量。

接下来 MM 行,每行包含两个整数 u,vu,v,表示初始道路网络中存在一条从 uu 指向 vv 的道路。

下一行包含一个整数 QQ,表示道路建设轮数。

接下来 QQ 行描述各轮建设。每行首先给出一个整数 type

  • 1 x l r
  • 2 x l r
  • 3 l r

其含义见题目描述。

输出格式

输出一个整数,表示最终网络中满足 uvu\to vvuv\to u 均可达的有序城市对 (u,v)(u,v) 的数量。

数据范围

  • 1N,M,Q2000001\le N,M,Q\le 200000
  • 1u,vN1\le u,v\le N
  • 对每轮建设,1xN1\le x\le N1lrN1\le l\le r\le N

子任务

子任务 分值 限制
1 0 样例
2 10 N,Q500N,Q\le 500
3 8 Q=0Q=0
4 12 所有建设均为类型 3
5 15 对每个类型 1 或 2 的操作,rl40r-l\le 40
6 55 无额外限制

样例

输入

5 4
1 2
2 3
3 4
4 5
1
3 1 5

输出

25