#abc328f. F - Good Set Query

F - Good Set Query

Score : 525525 points

问题描述

给定 QQ 组整数三元组 $(a_1, b_1, d_1), (a_2, b_2, d_2), \ldots, (a_Q, b_Q, d_Q)$。

集合 {1,2,,Q}\lbrace 1, 2, \ldots, Q\rbrace 的一个子集 SS 被定义为 好集合,如果存在一个长度为 NN 的整数序列 (X1,X2,,XN)(X_1, X_2, \ldots, X_N) 满足以下条件:

对于所有 iSi \in S,有 XaiXbi=diX_{a_i} - X_{b_i} = d_i

从空集开始,按顺序对 i=1,2,,Qi = 1, 2, \ldots, Q 执行以下操作:

如果 S{i}S \cup \lbrace i \rbrace 是一个好集合,则用 S{i}S \cup \lbrace i \rbrace 替换 SS

升序 打印最终集合 SS 中的所有元素。

以上为通义千问 qwen-max 翻译,仅供参考。

Problem Statement

You are given QQ triples of integers $(a_1, b_1, d_1), (a_2, b_2, d_2), \ldots, (a_Q, b_Q, d_Q)$.

A subset SS of the set {1,2,,Q}\lbrace 1, 2, \ldots, Q\rbrace is defined to be a good set if there exists an integer sequence (X1,X2,,XN)(X_1, X_2, \ldots, X_N) of length NN that satisfies:

XaiXbi=diX_{a_i} - X_{b_i} = d_i for all iSi \in S.

Starting with SS as an empty set, perform the following operation for i=1,2,,Qi = 1, 2, \ldots, Q in this order:

If S{i}S \cup \lbrace i \rbrace is a good set, then replace SS with S{i}S \cup \lbrace i \rbrace.

Print all elements of the final set SS in ascending order.

Constraints

  • All input values are integers.
  • 1N,Q2×1051 \leq N, Q \leq 2 \times 10^5
  • 1ai,biN1 \leq a_i, b_i \leq N
  • 109di109-10^9 \leq d_i \leq 10^9

Input

The input is given from Standard Input in the following format:

NN QQ

a1a_1 b1b_1 d1d_1

a2a_2 b2b_2 d2d_2

\vdots

aQa_Q bQb_Q dQd_Q

Output

Print the sequence (s1,s2,,sk)(s_1, s_2, \ldots, s_k) of all elements of the final set SS in ascending order, separated by spaces, in the following format:

s1s_1 s2s_2 \ldots sks_k

Sample Input 1

3 5
1 2 2
3 2 -3
2 1 -1
3 3 0
1 3 5

Sample Output 1

1 2 4 5

Starting with SS as an empty set, perform the operation described in the problem statement for i=1,2,3,4,5i = 1, 2, 3, 4, 5 in this order, as follows.

  • For i=1i = 1, the set S{i}={1}S \cup \lbrace i \rbrace = \lbrace 1 \rbrace is a good set, because (X1,X2,X3)=(3,1,4)(X_1, X_2, X_3) = (3, 1, 4) satisfies the condition in the problem statement, for example, so replace SS with {1}\lbrace 1\rbrace.
  • For i=2i = 2, the set S{i}={1,2}S \cup \lbrace i \rbrace = \lbrace 1, 2 \rbrace is a good set, because (X1,X2,X3)=(3,1,2)(X_1, X_2, X_3) = (3, 1, -2) satisfies the condition in the problem statement, for example, so replace SS with {1,2}\lbrace 1, 2\rbrace.
  • For i=3i = 3, the set S{i}={1,2,3}S \cup \lbrace i \rbrace = \lbrace 1, 2, 3 \rbrace is not a good set.
  • For i=4i = 4, the set S{i}={1,2,4}S \cup \lbrace i \rbrace = \lbrace 1, 2, 4 \rbrace is a good set, because (X1,X2,X3)=(3,1,2)(X_1, X_2, X_3) = (3, 1, -2) satisfies the condition in the problem statement, for example, so replace SS with {1,2,4}\lbrace 1, 2, 4\rbrace.
  • For i=5i = 5, the set $S \cup \lbrace i \rbrace = \lbrace 1, 2, 4, 5 \rbrace$ is a good set, because (X1,X2,X3)=(3,1,2)(X_1, X_2, X_3) = (3, 1, -2) satisfies the condition in the problem statement, for example, so replace SS with {1,2,4,5}\lbrace 1, 2, 4, 5\rbrace.

Therefore, the final set SS is {1,2,4,5}\lbrace 1, 2, 4, 5\rbrace.

Sample Input 2

200000 1
1 1 1

Sample Output 2

The final set SS is empty.

Sample Input 3

5 20
4 2 125421359
2 5 -191096267
3 4 -42422908
3 5 -180492387
3 3 174861038
2 3 -82998451
3 4 -134761089
3 1 -57159320
5 2 191096267
2 4 -120557647
4 2 125421359
2 3 142216401
4 5 -96172984
3 5 -108097816
1 5 -50938496
1 2 140157771
5 4 65674908
4 3 35196193
4 4 0
3 4 188711840

Sample Output 3

1 2 3 6 8 9 11 14 15 16 17 19

update @ 2024/3/10 01:53:16