#P2184. 贪婪大陆(Greedy Continent)

0

贪婪大陆(Greedy Continent)

贪婪大陆(Greedy Continent)

题目描述

面对蚂蚁们的疯狂进攻,小 FF 的 Tower defence 宣告失败……人类被蚂蚁们逼到了 Greed Island 上的一个海湾。现在,小 FF 的后方是一望无际的大海,前方是变异了的超级蚂蚁。小 FF 还有大好前程,他可不想命丧于此, 于是他派遣手下最后一批改造 SCV 布置地雷以阻挡蚂蚁们的进攻。

小 FF 最后一道防线是一条长度为 nn 的战壕,小 FF 拥有无数多种地雷,而 SCV 每次可以在 [L,R][L, R] 区间埋放同一种不同于之前已经埋放的地雷。由于情况已经十万火急,小 FF 在某些时候可能会询问你在 [L′,R′][L',R'] 区间内有多少种不同的地雷,他希望你能尽快的给予答复。

输入格式

第一行为两个整数 nn 和 mm,nn 表示防线长度,mm 表示 SCV 布雷次数及小 FF 询问的次数总和。

接下来有 mm 行,每行三个整数 q,l,rq,l,r:

  • 若 q=1q=1,则表示 SCV 在 [l,r][l, r] 这段区间布上一种地雷;
  • 若 q=2q=2,则表示小 FF 询问当前 [l,r][l, r] 区间总共有多少种地雷。

输出格式

对于小 FF 的每次询问,输出一个答案(单独一行),表示当前区间地雷种数。

样例输入 #1

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

样例输出 #1

1
2

数据范围

数据规模与约定

  • 对于 30%30\% 的数据,0≤n0 \le n,m≤1000m \le 1000。
  • 对于 100%100\% 的数据,0≤n0 \le n,m≤105m \le 10^5。

知识点与难度

本题涉及的知识点从属于 CSP-S,难度(CF Rating):1600。


测试点分布

Subtask 分值 测试点编号 说明
0 10 1 样例
1 20 2~7 小规模 n,m≤1000 / 边界 n=1 / 单点布雷与单点查询
2 15 8~11 Hack: 多次在相同区间重复埋放不同地雷 / Hack: 端点恰好相接 [1,k] 与 [k,n] / 初始全查询输出0
3 30 12~20 满规模 n=10^5, m=10^5 双树状数组维护左右端点压力
4 25 21~25 随机布雷与查询回归测试

出处:原题链接