AT_agc074_d.[AGC074D] Valid Output for DSU Problems
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
若能够通过以下操作得到序列 A,则称其为特殊序列:
- 准备一个包含 N 个点、0 条边的无向图,以及长度为 0 的序列 A。
- 准备针对满足 1≤i<j≤N 的整数 i,j 和 q∈{1,2} 的若干操作:
- 当 q=1 时,在点 i 和点 j 之间连一条边。
- 当 q=2 时,若点 i 和点 j 是连通的,则在 A 末尾追加 1,否则追加 0。
- N(N−1) 个可能的操作可以任意排列顺序,并按顺序依次处理。
现给定一个长度为 2N(N−1) 仅包含 0 和 1 的序列 B,你可以对 B 执行如下操作任意多次:
- 选择一个满足 1≤i≤2N(N−1)−1 的整数 i,交换 Bi 和 Bi+1。
请判断能否通过若干次操作使 B 变为一个特殊序列。如果可以,输出所需操作的最小次数;否则输出 −1。
对每个输入的测试用例,求解上述问题。
输入格式
从标准输入读入,格式如下:
T case1 case2 … caseT
每个测试用例格式如下:
N B1 B2 … B2N(N−1)
输出格式
共输出 T 行。第 t 行输出 B 变为特殊序列所需的最小操作次数;如果无法做到,输出 −1。
输入输出样例
输入#1
4 4 1 1 0 1 1 0 2 1 3 0 0 0 5 1 1 1 1 1 1 1 1 1 0
输出#1
1 0 0 3
说明/提示
样例解释 1
在第一个测试用例中,若按顺序处理操作 (q,i,j)=(1,1,4), (2,1,4), (1,2,4), (2,1,2), (1,1,2), (2,2,3), (2,2,4), (2,3,4), (1,3,4), (1,1,3), (2,1,3), (1,2,3),最终得到的序列为 (1,1,0,1,0,1),而 B 经过一次操作可以变为该序列。此外,(1,1,0,1,1,0) 不是特殊序列,所以答案为 1。
数据范围
- 1≤T
- 2≤N≤500
- ∣B∣=2N(N−1)
- 0≤Bi≤1
- 所有测试用例中 ∣B∣ 的和不超过 3×105。
- 所有测试用例中 N3 的和不超过 5003。
- 输入均为整数。
由 ChatGPT 5 翻译
输入解题思路,AI测评打分。不知道怎么写?