luogu#P10852. 【MX-X2-T1】「Cfz Round 4」Awaken

    ID: 14786 远端评测题 1000ms 512MiB 尝试: 0 已通过: 0 难度: 2 上传者: 标签>模拟搜索数学Special JudgeO2优化高斯消元分类讨论

【MX-X2-T1】「Cfz Round 4」Awaken

题目背景

能否等到梦醒了的时候。

图片与题目做法无关,图片来源网络,侵删。QWQ。

题目描述

月做了一个梦。在梦中,她拿到了一个长度为 nn整数序列 a1,,ana_1, \ldots, a_n其中 n5\bm{n \ge 5}

梦醒了。月忘记了这个序列中的一部分元素,留下了空白。所幸,月还记得 mm 个非空白的位置。月希望将空白的位置填上,还原整个序列。

月还记得梦中的序列有性质:对于所有满足 x2+x3=x1+x4x_2+x_3=x_1+x_4 的互异下标 x1,x2,x3,x4x_1,x_2,x_3,x_4,总有 ax2+ax3=ax1+ax4a_{x_2}+a_{x_3}=a_{x_1}+a_{x_4} 成立。

月想知道是否可以还原出一个满足性质的序列(如果不能的话,就是她记错了)。若可以,输出 Yes;否则输出 No

输入格式

本题有多组测试数据。

输入的第一行包含一个整数 TT,表示测试数据组数。

接下来依次输入每组测试数据。对于每组测试数据:

  • 第一行两个整数 n,mn,m,其中 n5n \ge 5mm 表示 aia_i 中不为空的位置的个数。
  • 接下来 mm 行,每行两个整数 pi,xip_i,x_i,表示 apia_{p_i} 不为空,且 api=xia_{{p_i}}=x_i。保证 pip_i 两两不同。

输出格式

对于每组测试数据,输出一个字符串 YesNo,表示原序列是否存在。

本题中字符串大小写不敏感,即 yesyeSyEsYesYEsYeSyESYES 都被认为是 YesNo 同理。

3
5 3
1 1
4 4
5 5
6 6
1 1
3 7
2 4
5 5
4 1
6 4
5 0
Yes
No
Yes
1
5 2
1 -2
5 -10
Yes
2
9 6
1 -856675560
8 479857596
5 -92942328
4 -283875636
3 -474808944
9 670790904
10 7
4 -32297373
10 -633066970
9 831032854
5 -43726758
2 -699796467
1 -918486370
8 612342951
Yes
No

提示

【样例解释 #1】

对于第 11 组测试数据,当前序列为 [1,?,?,4,5][1,?,?,4,5]。可以构造出原序列 [1,2,3,4,5][1,2,3,4,5],你可以检查此序列满足性质。

对于第 22 组测试数据,当前序列为 [1,4,7,1,5,4][1,4,7,1,5,4]。可以证明不存在满足性质的原序列。这组样例提醒你,p\bm p 不一定升序给出

对于第 33 组测试数据,当前序列为 [?,?,?,?,?][?,?,?,?,?]。可以构造出原序列 [0,0,0,0,0][0,0,0,0,0],当然 [1,1,1,1,1][-1,-1,-1,-1,-1] 也可以。这组样例提醒你,mm 可以等于 00,以及原序列可以含有负数或 00

【数据范围】

n\sum n 表示单个测试点中 nn 的和。

对于所有测试数据,1T4×1041 \le T\le 4\times10^45n2×1055\le n\le2\times 10^5n2×105\sum n\le 2\times10^50mn0\le m\le n1pin1\le p_i\le n109xi109-10^{9} \le x_i \le 10^{9}。保证在同一组数据内 pip_i 两两不同。

本题采用捆绑测试。

  • Subtask 1(20 points):n2000n\le2000m=nm=n
  • Subtask 2(30 points):n6n\leq 6x7|x|\le7
  • Subtask 3(20 points):m=2m=2
  • Subtask 4(30 points):无特殊限制。