题目名称 335. [NOI 2003]数据生成器
输入输出 jerrygen.in/out
难度等级 ★★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 8
题目来源 GravatarBYVoid 于2009-05-23加入
开放分组 全部用户
提交状态
分类标签
NOI 动态规划 图论 树形DP
分享题解
通过:25, 提交:66, 通过率:37.88%
GravatarLGLJ 100 0.120 s 8.27 MiB C++
Gravatar 100 0.170 s 5.87 MiB C++
Gravatar 100 0.189 s 5.87 MiB C++
Gravatar嗨嗨嗨 100 0.227 s 10.62 MiB C++
Gravatarh 100 0.238 s 18.60 MiB C++
GravatarHale 100 0.242 s 31.97 MiB C++
GravatarWCMG 100 0.389 s 15.30 MiB C++
Gravatardavid942j 100 0.397 s 8.16 MiB C++
Gravatardavid942j 100 0.439 s 7.82 MiB C++
Gravatardavid942j 100 0.467 s 9.83 MiB C++
关于 数据生成器 的近10条评论(全部评论)

335. [NOI 2003]数据生成器

★★☆   输入文件:jerrygen.in   输出文件:jerrygen.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目背景】

小明在做NOI2003练习赛的《幸福的老鼠》时觉得题目太简单了,于是对原题做了一些扩展:

  • 将原题的N从20扩展到200000。
  • 将原题经过一条街道需要的时间改为Ti(1 <= Ti <= 1000000000)分钟(i为街道的编号)。
  • 增加了一个条件:小狗家Y离老鼠家X的距离小于等于大狗家Z离老鼠家X的距离。

即使这样,他仍然很快地做了出来。于是,小明打算做一些输入文件来测试他的程序。现在他已经生成了一些符合题意的图,不过为了增大测试数据的难度,他希望你能帮他选取一组X、Y、Z,使老鼠拿到礼物的时间尽可能地大。

【小明扩展的题目(注意,你并不需要解决此题)】

幸福的老鼠Jerry要过生日了,小狗大狗分别送了它一份生日礼物。现在Jerry打算从自己家X出发,先到小狗家Y(因为小狗家Y离老鼠家X的距离小于等于大狗家Z离老鼠家X的距离),再到大狗家Z,将两份礼物取回。 卡通城由N(3 <= N <= 200000)个居住点和N-1条连接居住点的双向街道组成,经过第i条街道需花费Ti(1 <= Ti <= 1000000000)分钟的时间。可以保证,任两个居住点间都存在通路。

不妨设Jerry家在点X,小狗家在点Y,大狗家在点Z。现在,请你计算,Jerry最快需要耗费多长时间才能拿到生日礼物?

【任务描述】

定义:令|AB|表示卡通城中从A点走到B点需要的最少时间。

给出卡通城的地图,找到一组X、Y、Z,使得:

  • |XY|≤|XZ|
  • |XY|+|YZ|最大。

并求出此时|XY|+|YZ|的值。

【输入文件】

输入文件第一行是两个整数N(3 £ N £ 200000)和M(M=N-1),分别表示居住点总数和街道总数。从第2行开始到第N行,每行给出一条街道的信息。第i+1行包含整数Ui、Vi、 Ti(1£Ui, Vi £ N,1 £ Ti £ 1000000000),表示街道i连接居住点Ui和Vi,并且经过街道i需花费Ti分钟。

【输出文件】

输出文件仅包含一个整数T,即|XY|+|YZ|的最大值。

【样例输入】

4 3
1 2 1
2 3 1
3 4 1

【样例输出】

4