AT_arc036_d [ARC036D] 偶数メートル
题目描述
高桥君所在的国家有 $N$ 座城市,编号为 $1$ 到 $N$。初始时没有道路,于是国家准备修建几条连接不同城市的双向道路。
由于高桥君很喜欢偶数,所以在从一座城市到达另外一座城市时,即使绕远路,或者走同一条路多次,也要使得走的总距离为偶数。但是在走过一条路后,高桥君不会马上再走一遍这条路。
高桥君有时会指定两座不同的城市,问他是否能用上述方式从其中一座走到另外一座。
由于国家还在建设道路,因此在不同时间提出的相同问题可能有不同的答案。
输入格式
第一行两个整数 $N,Q(1\le N,Q\le 10^5)$,表示城市数量和操作数量。
接下来 $Q$ 行每行四个整数 $w,x,y,z(1\le w\le2,1\le x,y\le N,x\ne y,1\le z\le 10^5)$。
- $w=1$,表示国家在 $x$ 和 $y$ 两座城市中修了一条长度为 $z$ 的双向道路。
- $w=2$,表示高桥君询问城市 $x$ 和 $y$ 能否通过他的走路方式互相到达,保证此时 $z=1$。
注意:
- 相同的两座城市间可能有多条道路。
- 高桥君每次提问时,之前所有的道路都已建设完毕。
输出格式
对于每次高桥君的询问,若可行输出 ```YES```,否则输出 ```NO```。
by @[Larryyu](https://www.luogu.com.cn/user/475329)
说明/提示
### 部分点
この問題には部分点が設定されている。
- $ 1\ ≦\ N\ ≦\ 3,000\ ,\ 1\ ≦\ Q\ ≦\ 3,000 $ を満たすデータセットに正解した場合は $ 30 $ 点が与えられる。
- $ 1\ ≦\ N\ ≦\ 10^5\ ,\ 1\ ≦\ Q\ ≦\ 10^5 $ を満たすデータセットに正解した場合はさらに $ 70 $ 点が与えられる。合計で$ 100 $点となる。
### Sample Explanation 1
各質問時点での街と道路の様子は以下のようになります。 左が $ 1,\ 2 $ つ目の質問の時の様子で、右が $ 3,\ 4 $ つ目の質問の時の様子です。 !\[\](/img/arc/036/Dsample1.png) $ 2 $ つ目の質問に対しては $ 2,\ 1,\ 3,\ 5 $ という順に道路を進むと移動距離の合計が $ 10 $ になります。 $ 3 $ つ目の質問に対しては $ 1,\ 4,\ 2,\ 1,\ 3,\ 5 $ という順に道路を進むと移動距離の合計が $ 20 $ になります。 $ 4 $ つ目の質問に対しては $ 3,\ 1,\ 2,\ 4,\ 1,\ 3,\ 5 $ という順に道路を進むと移動距離の合計が $ 22 $ になります。
### Sample Explanation 2
$ 1 $ つ目の質問の時点では、そもそも街 $ 1 $ から街 $ 3 $ に行く方法がありません。よって答えは `NO` になります。
### Sample Explanation 3
同じ $ 2 $ つの街に複数本の道路が敷設され得ることに注意してください。