| 题目名称 | 2286. [HZOI 2015]疯狂的重心 |
|---|---|
| 输入输出 | G_Tree.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:7, 提交:11, 通过率:63.64% | ||||
|
|
100 | 0.176 s | 6.80 MiB | C++ |
|
|
100 | 0.178 s | 38.05 MiB | C++ |
|
|
100 | 0.206 s | 6.78 MiB | C++ |
|
|
100 | 0.260 s | 4.81 MiB | C++ |
|
|
100 | 0.266 s | 4.51 MiB | C++ |
|
|
100 | 0.283 s | 7.48 MiB | C++ |
|
|
100 | 0.315 s | 10.59 MiB | C++ |
|
|
0 | 0.000 s | 5.35 MiB | C++ |
|
|
0 | 0.002 s | 9.83 MiB | C++ |
|
|
0 | 0.344 s | 4.81 MiB | C++ |
| 关于 疯狂的重心 的近10条评论(全部评论) | ||||
|---|---|---|---|---|
|
合并两棵子树后,重心一定在原先的两颗树重心之间,因此在LCT上二分答案就好了。
只想说splay上二分答案细节好多啊…… | ||||
|
http://www.cnblogs.com/joyouth/p/5438373.html
本蒟蒻的题解报告,欢迎各路神犇来踩
2016-04-27 12:08
1楼
| ||||
一开始有n个点,点和点之间没有边,要求你维护以下操作:
1、A u v 在u和v之间添加一条无向边,保证添加后原图还是一个生成森林
2、Q u 询问u所在树的重心的编号
3、Xor 询问所有树的重心的编号的异或和
重心的定义:在一棵树上,若一个点到其他所有点的距离之和最小,则称这个点为树的重心
如果有多个满足条件的点,取编号最小的点为重心
第一行n,m表示节点总数和操作次数
以下m行每行如题意所示
n,m<=100000
对于每个Q和Xor输出答案
10 10
Xor
Q 1
A 10 1
A 1 4
Q 4
Q 10
A 7 6
Xor
Q 7
Xor
11
1
1
1
2
6
2