CF2056E.Nested Segments

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

如果 1lrn1\le l\le r\le nAA 中任何一对不同的线段 [li,ri],[lj,rj][l_i, r_i], [l_j, r_j] 都恰好满足以下条件之一,那么由具有整数端点的成对不同线段 [l,r][l, r] 组成的集合 AA 是好的:

  • ri<ljr_i < l_jrj<lir_j < l_i (线段不相交)
  • liljrjril_i \le l_j \le r_j \le r_iljlirirjl_j \le l_i \le r_i \le r_j (一条线段完全包含在另一条线段中)

给你一个由 mm 对不同的线段 [li,ri][l_i, r_i] 组成的好的集合 SS。您希望在确保集合 SS 是好的的前提下,尽可能多地向集合 SS 添加线段。

由于这项任务过于简单,因此您需要确定有多少种不同的方法可以在确保集合 SS 是好的的情况下,向 SS 添加最大数量的额外线段。如果在其中一种方法中增加了一条线段,而在另一种方法中没有增加,那么这两种方法就被认为是不同的。

形式化的,我们需要找出由不同的线段组成的好的的集合 TT 的个数,使得 SSTT 的子集,且 TT 的大小最大。由于结果可能很大,请计算答案对 998244353998\,244\,353 取模后的结果。

输入格式

每个测试包含多个测试用例。第一行包含测试用例的数量 tt1t1041 \le t \le 10^4 )。测试用例说明如下。

每个测试用例的第一行包含两个整数 nnmm1n2×1051 \le n \le 2 \times 10^50m2×1050 \le m \le 2 \times 10^5)—线段的最大右端点和 SS 的大小。

接下来 mm 行的 ii-th 包含两个整数 lil_irir_i1lirin1 \le l_i \le r_i \le n)—即集合 SS 中的线段边界。

保证给定的集合 SS 是好的,并且集合 SS 中的线段是成对不同的。

保证所有测试用例中 nnmm 的总和不超过 2×1052 \times 10^5

输出格式

对于每个测试用例,输出一个整数,表示在确保集合 SS 是好的的情况下,在集合 SS 中添加最大数量的额外线段的不同方式的数量,模数为 998244353998\,244\,353

输入输出样例

  • 输入#1

    6
    1 0
    2 3
    1 1
    2 2
    1 2
    5 2
    1 3
    2 3
    4 1
    1 1
    6 2
    1 3
    4 6
    2300 0

    输出#1

    1
    1
    2
    5
    4
    187997613

说明/提示

在第一个例子中,唯一可能的线段是 [1,1][1, 1] ,因此 T={[1,1]}T = \{[1, 1]\} 的大小最大,也是唯一的解。

在第二个示例中,无法向集合 SS 添加任何额外的线段。因此,向 SS 添加线段的唯一方法就是不添加任何线段。

在第三个例子中,在确保集合 SS 仍然良好的情况下,可以向 SS 添加 77 条额外的线段。我们可以证明,在 SS 中添加超过 77 条线段是不可能的。恰好有 22 种不同的方法可以将这些 77 条线段添加到 SS 中,它们各自的集合 TT 如下所示:

  • {[1,1],[1,3],[1,4],[1,5],[2,2],[2,3],[3,3],[4,4],[5,5]}\{[1, 1], [1, 3], [1, 4], [1, 5], [2, 2], [2, 3], [3, 3], [4, 4], [5, 5]\}
  • {[1,1],[1,3],[1,5],[2,2],[2,3],[3,3],[4,4],[4,5],[5,5]}\{[1, 1], [1, 3], [1, 5], [2, 2], [2, 3], [3, 3], [4, 4], [4, 5], [5, 5]\} .

在第四个例子中,正好有 55 种不同的方法可以将最多 66 条额外的线段添加到 SS 中,它们各自的集合 TT 如下所示:

  • {[1,1],[1,2],[1,3],[1,4],[2,2],[3,3],[4,4]}\{[1, 1], [1, 2], [1, 3], [1, 4], [2, 2], [3, 3], [4, 4]\}
  • {[1,1],[1,2],[1,4],[2,2],[3,3],[3,4],[4,4]}\{[1, 1], [1, 2], [1, 4], [2, 2], [3, 3], [3, 4], [4, 4]\}
  • {[1,1],[1,3],[1,4],[2,2],[2,3],[3,3],[4,4]}\{[1, 1], [1, 3], [1, 4], [2, 2], [2, 3], [3, 3], [4, 4]\}
  • {[1,1],[1,4],[2,2],[2,3],[2,4],[3,3],[4,4]}\{[1, 1], [1, 4], [2, 2], [2, 3], [2, 4], [3, 3], [4, 4]\}
  • {[1,1],[1,4],[2,2],[2,4],[3,3],[3,4],[4,4]}\{[1, 1], [1, 4], [2, 2], [2, 4], [3, 3], [3, 4], [4, 4]\}
首页