Segment Covering
题目描述
ChthollyNotaSeniorious 给了 DataStructures 一条数轴,上面有 m 个互不相同的线段。设 f(l,r) 表示选择偶数个线段,使得它们的并恰好为 [l,r] 的方案数,g(l,r) 表示选择奇数个线段,使得它们的并恰好为 [l,r] 的方案数。
ChthollyNotaSeniorious 向 DataStructures 提出了 q 个问题。在每个询问中,ChthollyNotaSeniorious 会给出两个数 l,r,现在他希望你能帮他计算 f(l,r)−g(l,r) 模 998244353 的值,这样他就不会让她失望了。
输入格式
输入的第一行包含两个整数 m(1≤m≤2⋅105)和 q(1≤q≤2⋅105),分别表示线段的数量和询问的数量。
接下来的 m 行中,第 i 行包含两个整数 xi 和 yi(1≤xi<yi≤109),表示一条线段 [xi,yi]。
保证所有线段互不相同。更正式地说,不存在 1≤i<j≤m 使得 xi=xj 且 yi=yj。
接下来的 q 行中,第 i 行包含两个整数 li 和 ri(1≤li<ri≤109),描述一次询问。
输出格式
对于每个询问,输出一个整数,表示 f(li,ri)−g(li,ri) 模 998244353 的结果。
样例输入 1
4 2
1 3
4 6
2 4
3 5
1 4
1 5
样例输出 1
1
0
提示
在第一个询问中,我们需要计算 f(1,4)−g(1,4)。唯一一个线段子集的并为 [1,4],即 {[1,3],[2,4]},所以 f(1,4)=1,g(1,4)=0。
在第二个询问中,我们需要计算 f(1,5)−g(1,5)。唯一的线段子集的并为 [1,5] 的有 {[1,3],[2,4],[3,5]} 和 {[1,3],[3,5]},所以 f(1,5)=1,g(1,5)=1。
数据范围
对于所有数据,1≤m,q≤2×105,1≤xi<yi≤109,1≤li<ri≤109,且输入线段两两不同。
| 子任务编号 |
分值 |
特殊限制 |
| 1 |
30 |
m≤18 且 q≤30 |
| 2 |
m,q≤1000 且 mq≤106 |
| 3 |
40 |
无特殊限制 |
每个测试点独立计分。