当前你的浏览器版本过低,网站已在兼容模式下运行,兼容模式仅提供最小功能支持,网站样式可能显示不正常。
请尽快升级浏览器以体验网站在线编辑、在线运行等功能。

建议使用的浏览器:

谷歌Chrome 火狐Firefox Opera浏览器 微软Edge浏览器 QQ浏览器 360浏览器 傲游浏览器

5604:merge

题目描述
There are N number,they are respectively from 1 to N.

for a set of numbers, we set a problem as flow:

we assume that the initial position of each number is the corresponding positon on number axis.

Then what we have to do is to make the minimum and maximum number of meet in minimum time.

We can operate these numbers as flow:

Each operation, we can select two adjacent numbers on the number axis and exchange them.multiple operations can be performed at the same time.

the time it spend is the distance between two position.

When the minimum and maximum number went to the adjacent positions,the time of they meet is distance/2.

Here is an example:

1..4......11....16..19

We want 1 and 19 meet.

Let 1,4 and 16,19 exchange, they can be performed at the same time and end at the same time.It spend 3 units time,and becomes the following:

4..1......11....19..16

Then there are two Plan:

A Plan:

let 1 and 11 exchange with 7 units time first.And it becomes the following:

4..11......1....19..16

Then exchange 1 and 19 with 2.5 units time.

the total times is:3+7+2.5=12.5

Plan B:

Let 11 and 19 exchange with 5 units time first.it becomes the following:

4..1......19....11..16

let 1 and 19 exchanged with a time of 3.5 units.

total:3+5+3.5=11.5

Clearly, B Plan work better.

Now everyone seems to understand the meaning of the problem.

So the question now is like the following

at the beginning, there are N sets, the i-th set contains and contains only i.

Then N-1 operations flow:

Merge two set.

And you should calculate the minimum time of making the biggest and smallest number meet after merging in this set.
输入解释
The first line contains a number T(T<=5), indicating T cases of data.

for each case of data:

The first line contains a number N.

Then N-1 lines flow,

each line contains two different integers u, v.

they Represents we merge two set where u and v are.

we promise that u and v are not at the same set.

* $1 \leq N \leq 300000$
输出解释
for each case of data:
for each line, output the minimum time after merging, accurated to 0.1.
输入样例
1
3
1 2
1 3
输出样例
0.5
1.5
来自杭电HDUOJ的附加信息
Recommend hujie

该题目是Virtual Judge题目,来自 杭电HDUOJ

源链接: HDU-5604

最后修改于 2020-10-25T23:24:08+00:00 由爬虫自动更新

共提交 0

通过率 --%
时间上限 内存上限
40000/20000MS(Java/Others) 262144/262144K(Java/Others)