#CF2020D. 连通点集
连通点集
D. 连通点集
时间限制:每个测试用例 2 秒 内存限制:512 兆字节
在一个晴朗的夜晚,爱丽丝准备玩一款改版的经典游戏——“连通点集”。
游戏规则如下: 爱丽丝画一条直线,并在上面标记出 个点,点的编号为 到 。初始时,点与点之间没有任何连线,所有点都是相互独立的。 之后,爱丽丝会进行 次操作,每次操作的格式为: 选取三个整数 、()和 。 选中点 $a_i,\ a_i+d_i,\ a_i+2d_i,\ a_i+3d_i,\ \dots,\ a_i + k_i \cdot d_i$,并将这些点中的每一对点都用弧连接起来。
在完成所有 次操作后,请求出这些点形成的连通分量的数量。
† 连通分量定义:如果两个点之间可以通过若干条弧和其他点形成路径,则这两个点属于同一个连通分量。
输入格式
每个测试文件包含多组测试用例。 第一行输入测试用例数量 ()。
每组测试用例: 第一行包含两个整数 和 (,)。 接下来 行,每行包含三个整数 。 保证满足 ,,。
数据保证:所有测试用例的 之和与 之和均不超过 。
输出格式
对于每组测试用例,输出最终的连通分量数量。
样例输入
3
10 2
1 2 4
2 2 4
100 1
19 2 4
100 3
1 2 5
7 2 6
17 2 31
样例输出
2
96
61
样例解释
-
第一个测试用例: 个点。 第一次操作连接点 ; 第二次操作连接点 。 最终共有 个连通分量。
-
第二个测试用例: 个点。 唯一操作连接点 ,形成 个连通分量; 剩余 个点各自独立。 答案:。
-
第三个测试用例: 个点。 所有 到 的奇数点合并为 个连通分量(共 个点); 剩余 个点各自独立。 答案:。