#P6185. [NOI Online #1 提高组] 序列

    ID: 5199 Type: RemoteJudge 2000ms 250MiB Tried: 7 Accepted: 3 Difficulty: 7 Uploaded By: Tags>2020并查集二分图NOI Online

[NOI Online #1 提高组] 序列

题目背景

由于本题数据较难构造,所以无法保证卡掉所有错误做法。

题目描述

小 D 有一个长度为 nn 的整数序列 a1…na_{1 \dots n},她想通过若干次操作把它变成序列 bib_i。

小 D 有 mm 种可选的操作,第 ii 种操作可使用三元组 (ti,ui,vi)(t_i,u_i,v_i) 描述:若 ti=1t_i=1,则她可以使 auia_{u_i} 与 avia_{v_i} 都加一或都减一;若 ti=2t_i=2,则她可以使 auia_{u_i} 减一、avia_{v_i} 加一,或是 auia_{u_i} 加一、avia_{v_i} 减一,因此当 ui=viu_i=v_i 时,这种操作相当于没有操作。

小 D 可以以任意顺序执行操作,且每种操作都可进行无限次。现在给定序列与所有操作,请你帮她判断是否存在一种方案能将 aia_i 变为 bib_i。题目保证两个序列长度都为 nn。若方案存在请输出 YES,否则输出 NO。

输入格式

本题输入文件包含多组数据。

第一行一个正整数 TT 表示数据组数。对于每组数据:

第一行两个整数 n,mn,m,表示序列长度与操作种数。

第二行 nn 个整数表示序列 aia_i。

第三行 nn 个整数表示序列 bib_i。

接下来 mm 行每行三个整数 ti,ui,vit_i,u_i,v_i,第 ii 行描述操作 ii。

注意:同一个三元组 (ti,ui,vi)(t_i,u_i,v_i) 可能在输入中出现多次。

输出格式

对于每组数据输出一行一个字符串 YES 或 NO 表示答案。

3
1 1
1
3
1 1 1
2 3
1 2
4 5
1 1 2
2 1 2
1 1 2
3 3
1 2 3
5 5 4
1 1 2
1 1 3
2 2 3
YES
YES
YES

提示

样例 1 解释

第一组数据:使用一次操作 11。
第二组数据:使用三次操作 11。
第三组数据:使用三次操作 11,令 a1,a2a_1,a_2 都增加 33,再使用一次操作 22,令 a1,a3a_1,a_3 都增加 11。


数据范围与提示

对于测试点 1∼51 \sim 5:n=2n=2,m=1m=1,ai,bi≤99a_i,b_i \le 99,u1≠v1u_1 \ne v_1,t1=1t_1=1。
对于测试点 6∼106 \sim 10:n=2n=2,m=1m=1,ai,bi≤99a_i,b_i \le 99,u1≠v1u_1 \ne v_1,t1=2t_1=2。
对于测试点 11∼1211 \sim 12:n=2n=2,ai,bi≤99a_i,b_i \le 99,ui≠viu_i \ne v_i。
对于测试点 13∼1613 \sim 16:ti=2t_i=2。
对于测试点 1717:n,m≤20n,m \le 20。
对于测试点 1818:n,m≤103n,m \le 10^3。
对于所有测试点:1≤T≤101 \le T \le 10,1≤n,m≤1051 \le n,m \le 10^5,1≤ai,bi≤1091 \le a_i,b_i \le 10^9,ti∈{1,2}t_i \in \{1,2\},1≤ui,vi≤n1\le u_i,v_i \le n。