CF2006F.Dora's Paint

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

不幸的是,朵拉在绘制班级壁画时颜料洒了。她将壁画视作一个 n×nn \times n 的矩阵 bb,最开始时,矩阵中所有元素 bi,jb_{i,j} 都是 0。

朵拉有两支不同颜色的画笔,在一次操作中,她可以使用其中一支画笔来为矩阵上色:

  • 第一支画笔的颜色为 1,可以为矩阵中的某一列上色。具体来说,朵拉选择某一列 1≤j≤n1 \leq j \leq n,然后将这一列中所有的元素设置为 1,即 bi,j:=1b_{i,j} := 1 对于所有 1≤i≤n1 \leq i \leq n;
  • 第二支画笔的颜色为 2,可以为矩阵中的某一行上色。具体来说,朵拉选择某一行 1≤i≤n1 \leq i \leq n,然后将这一行中所有的元素设置为 2,即 bi,j:=2b_{i,j} := 2 对于所有 1≤j≤n1 \leq j \leq n。

朵拉需要最终让整个矩阵 bb 只包含颜色 1 和颜色 2。

对于任意矩阵 bb,定义 f(b)f(b) 为从初始全 0 矩阵经过最少操作次数变为矩阵 bb 所需的最小步骤数。矩阵 bb 的“美丽值”是指用恰好 f(b)f(b) 次操作将初始矩阵变为 bb 的不同方法数。如果不能将初始矩阵变为 bb,那么美丽值为 0。

然而,朵拉随手犯了一个错误;实际的矩阵 aa 和真正应该得到的矩阵 bb 仅有一个元素不同。换句话说,存在一个唯一的元素位置 (i,j)(i, j),使得 ai,j=3−bi,ja_{i,j} = 3 - b_{i,j}。

请帮助朵拉计算在所有可能错误的情况下,真实矩阵 bb 的期望美丽值,并对结果取模 998 244 353998\,244\,353。

由于矩阵比较大,朵拉只告诉我们 mm 个颜色为 1 的元素的位置,剩下的 n2−mn^2 - m 个元素的颜色为 2。

输入格式

每个测试点有多个测试用例。第一行包含一个整数 tt (1≤t≤1041 \leq t \leq 10^4),表示测试用例的数量。接下来是每个测试用例的具体内容。

对于每个测试用例的第一行,输入两个整数 nn 和 mm (2≤n≤2⋅1052 \leq n \leq 2 \cdot 10^5, 0≤m≤min⁡(106,n2)0 \leq m \leq \min(10^6, n^2)),表示矩阵的大小以及颜色为 1 的元素数量。

接下来 mm 行,每行包含两个整数 xix_i 和 yiy_i (1≤xi,yi≤n1 \leq x_i, y_i \leq n),表示矩阵 aa 中位置 (xi,yi)(x_i, y_i) 的元素是颜色 1。

确保当 i≠ji \neq j 时,(xi,yi)≠(xj,yj)(x_i, y_i) \neq (x_j, y_j)。

保证所有测试用例中 nn 的总和不超过 4⋅1054 \cdot 10^5,mm 的总和不超过 10610^6。

输出格式

对于每个测试用例,输出一个整数——这个整数是对真实矩阵 bb 的期望美丽值取模 998 244 353998\,244\,353 的结果。

输入输出样例

  • 输入#1

    7
    2 2
    1 1
    1 2
    2 1
    1 1
    3 2
    1 1
    3 3
    6 0
    5 10
    1 1
    1 2
    1 3
    2 1
    2 3
    5 1
    5 2
    5 3
    5 4
    5 5
    3 5
    1 1
    1 3
    2 2
    3 1
    3 3
    4 3
    1 1
    2 3
    2 4

    输出#1

    1
    499122178
    665496236
    120
    79859554
    776412275
    1

说明/提示

在第一个测试用例中,矩阵 a=[1122]a = \left[\begin{matrix}1&1\\2&2\end{matrix}\right]。考虑将元素 (1,1)(1,1) 改变以计算答案。

可以证明,将初始矩阵变为 [2122]\left[\begin{matrix}2&1\\2&2\end{matrix}\right] 需要至少 3 步。具体方法是,先将第一行涂成颜色 2,然后将第二列涂成颜色 1,最后将第二行涂成颜色 2。操作过程如下:

[0000]⇒[2200]⇒[2101]⇒[2122]\left[\begin{matrix}0&0\\0&0\end{matrix}\right] \Rightarrow \left[\begin{matrix}2&2\\0&0\end{matrix}\right] \Rightarrow \left[\begin{matrix}2&1\\0&1\end{matrix}\right] \Rightarrow \left[\begin{matrix}2&1\\2&2\end{matrix}\right]

事实证明,这种方法是唯一可以用3步实现的方法。因此,矩阵 [2122]\left[\begin{matrix}2&1\\2&2\end{matrix}\right] 的美丽值为 1。类似地,如果改变矩阵中的其他元素,美丽值仍然是 1,所以真实矩阵 bb 的期望美丽值为 1。

在第二个测试用例中,矩阵 a=[1222]a = \left[\begin{matrix}1&2\\2&2\end{matrix}\right]。考虑将元素 (2,2)(2, 2) 改变以计算答案。

可以证明无法将初始矩阵变为 [1221]\left[\begin{matrix}1&2\\2&1\end{matrix}\right],因此其美丽值是 0。如果改变矩阵中的其他任何元素,美丽值总是 2,所以期望美丽值为 0+2+2+24=64≡499 122 178(mod998 244 353)\frac{0 + 2 + 2 + 2}{4} = \frac{6}{4} \equiv 499\,122\,178 \pmod {998\,244\,353}。

本翻译由 AI 自动生成

输入解题思路,AI测评打分。不知道怎么写?

首页