#df1926. 立方体积木(Cube Stacking)
立方体积木(Cube Stacking)
立方体积木(Cube Stacking)
题目描述
约翰和贝茜在玩一个方块游戏。编号为 的 ()个方块正放在地上,每个构成一个立方柱。
游戏开始后,约翰会给贝茜发出 ()个指令。指令有两种:
移动(M):将包含 X 的立方柱移动到包含 Y 的立方柱上。
统计(C):统计含 X 的立方柱中,在 X 下方的方块数目。
写个程序帮贝茜完成游戏。
输入格式
第 1 行输入 ,之后 行每行输入一条指令,形式为 M X Y 或者 C X。
输入保证不会有将立方柱放在自己头上的指令。
输出格式
输出共 行,对于每个统计指令,输出其结果。
样例输入 #1
6
M 1 6
C 1
M 2 4
M 2 6
C 3
C 4
样例输出 #1
1
0
2
数据范围
- 输入保证不会有将立方柱放在自己头上的指令
知识点与难度
本题涉及的知识点从属于 数据结构(带权并查集),难度等级:提高。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 P≤20 / 特殊: 只有 C 指令 / 特殊: 长链堆叠 |
| 2 | 15 | 9~11 | Hack: 全 M 后单次 C / Hack: 重复同柱合并 / Hack: 长链最坏路径 |
| 3 | 30 | 12~20 | 中规模 P≈1e3~1e4 / 大规模 P≈1e5 压力 |
| 4 | 25 | 21~25 | 随机 P=1~1e5 回归 |