CF1956C.Nene's Magical Matrix

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

魔法少女 Nene 有一个 n×nn\times n 的矩阵 aa,初始时所有元素均为零。矩阵 aa 的第 ii 行第 jj 列的元素记作 ai,ja_{i, j}。

她可以对这个矩阵进行以下两种操作:

  • 类型 11 操作:选择一个 11 到 nn 之间的整数 ii,以及一个 11 到 nn 的排列 p1,p2,…,pnp_1, p_2, \ldots, p_n。同时将 ai,j:=pja_{i, j}:=p_j,对所有 1≤j≤n1 \le j \le n。
  • 类型 22 操作:选择一个 11 到 nn 之间的整数 ii,以及一个 11 到 nn 的排列 p1,p2,…,pnp_1, p_2, \ldots, p_n。同时将 aj,i:=pja_{j, i}:=p_j,对所有 1≤j≤n1 \le j \le n。

Nene 想要最大化矩阵中所有数字的和 ∑i=1n∑j=1nai,j\sum\limits_{i=1}^{n}\sum\limits_{j=1}^{n}a_{i,j}。她希望你帮她找到一种操作方案,使得这个和最大。由于她不想操作次数太多,你需要给出一个不超过 2n2n 次操作的方案。

长度为 nn 的排列是指包含 11 到 nn 的 nn 个互不相同整数的数组,顺序任意。例如,[2,3,1,5,4][2,3,1,5,4] 是一个排列,但 [1,2,2][1,2,2] 不是(22 出现了两次),[1,3,4][1,3,4] 也不是(n=3n=3 但出现了 44)。

输入格式

每组测试数据包含多组测试用例。第一行包含一个整数 tt(1≤t≤5001 \le t \le 500),表示测试用例的数量。

每组测试用例的唯一一行包含一个整数 nn(1≤n≤5001 \le n \le 500),表示矩阵 aa 的大小。

保证所有测试用例中 n2n^2 的和不超过 5⋅1055 \cdot 10^5。

输出格式

对于每组测试用例,第一行输出两个整数 ss 和 mm(0≤m≤2n0\leq m\leq 2n),分别表示矩阵中数字的最大和,以及你方案中的操作次数。

接下来的 mm 行,每行描述一次操作,格式如下:

  • 一个整数 cc(c∈{1,2}c \in \{1, 2\}),表示操作类型;
  • 一个整数 ii(1≤i≤n1 \le i \le n),表示操作作用的行或列编号;
  • 一个排列 p1,p2,…,pnp_1, p_2, \ldots, p_n,表示本次操作使用的排列。

注意,你不需要最小化操作次数,只需保证操作次数不超过 2n2n。可以证明,最大可能的和总能在不超过 2n2n 次操作内实现。

输入输出样例

  • 输入#1

    2
    1
    2

    输出#1

    1 1
    1 1 1
    7 3
    1 1 1 2
    1 2 1 2
    2 1 1 2

说明/提示

在第一个测试用例中,最大和 s=1s=1,可以通过 11 次操作 a1,1:=1a_{1, 1}:=1 实现。

在第二个测试用例中,最大和 s=7s=7,可以通过如下 33 次操作实现:

可以证明,无法使矩阵中数字的和超过 77。

由 ChatGPT 4.1 翻译

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

首页