Logo HelloWorld信息学奥赛题库

少儿编程

时间限制:1 s 空间限制:64 MB

#3851. 「COCI 2018.12」Praktični

统计

题目描述

译自 COCI 2018/2019 Contest #3 T5「Praktični

给一个有权无向图,我们称一个图是好的,当且仅当其每个简单环上的权值的异或和为 $0$。你一次操作可以选定图的一个边集以及一个数 $X$,操作是将该边集包含的边的权值都异或上 $X$。请求出至少需要多少次操作可以使给定的图变好。

输入格式

第一行输入两个正整数 $N,M$,表示图的点数和边数。

接下来 $M$ 行第 $i$ 行三个整数 $a_i, b_i, p_i$,表示第 $i$ 条边连接 $a_i, b_i$,权值为 $p_i$。保证图是联通的且没有重边。

输出格式

第一行输出一个整数 $K$,表示需要的最少操作次数。

接下来 $K$ 行每行第一个整数 $x$ 表示要异或的值,第二个整数 $B$ 表示选择的边集大小,接下来 $B$ 个整数第 $i$ 个 $E_i$ 表示所选取的第 $i$ 条边是输入中的第 $E_i$ 条,要求 $E_i$ 互不相同。请保证输入的数均不超过 $2 \times 10^9$。

样例 1

input

4 4
1 2 10
2 3 9
3 4 8
4 1 7

output

1
12 3 1 2 3

这是修改前的图

page9image15200.jpg

这是修改后的图

page9image15368.jpg

样例 2

input

2 1
1 2 3

output

0

这个图中没有简单环,因此不需要修改,显然满足条件。

样例 3

input

6 8
1 2 6
2 3 1
3 5 6
3 1 5
4 5 0
3 6 0
4 2 8
4 1 1

output

2
2 2 4 6
15 1 7

数据范围与提示

对于 $20\%$ 的数据,保证最优操作次数不超过 $1$。

对于另外 $40\%$ 的数据,保证输入的数都不超过 $10^6$。

对于 $100\%$ 的数据,保证:

  • $1\le N, M \le 10^5$
  • $1\le a_i, b_i \le N, a_i \neq b_i$
  • $0\le p_i \le 10^9$