题目名称 1768. [NOI 2014]购票
输入输出 ticket.in/out
难度等级 ★★★★
时间限制 3000 ms (3 s)
内存限制 562 MiB
测试数据 10
题目来源 GravatarAsm.Def 于2014-10-23加入
开放分组 全部用户
提交状态
分类标签
分享题解
通过:47, 提交:297, 通过率:15.82%
Gravatarop_组撒头屯 100 2.456 s 16.43 MiB C++
Gravataroi_Konnyaku 100 4.001 s 21.68 MiB C++
Gravatarfleey 100 4.305 s 43.04 MiB C++
Gravatar支羽 100 4.392 s 23.63 MiB C++
Gravatar支羽 100 4.414 s 23.63 MiB C++
Gravatarlych 100 4.422 s 14.19 MiB C++
Gravatar老师,勿删 100 4.555 s 17.29 MiB C++
GravatarImone NOI2018Au 100 4.771 s 20.32 MiB C++
GravatarCooook 100 5.290 s 31.03 MiB C++
Gravatar_Itachi 100 5.434 s 14.21 MiB C++
关于 购票 的近10条评论(全部评论)
爆栈+爆long long+码农题。。。
GravatarImone NOI2018Au
2017-09-18 17:23 11楼
为什么20W在cogs的Linux环境下为什么会爆栈啊??
Gravatar_Itachi
2017-04-05 10:13 10楼
回复 @TenderRun :
道友啊(跪) 我就说我怎么写的复杂度只有log^2
Gravatarhebomou
2016-06-02 17:33 9楼
原来每条链只建一个凸包是错的!!!
GravatarTenderRun
2016-05-14 09:26 8楼
前几天学了一种用线段树维护区间内凸包的方法,在外面套了一个树剖、在里面再套一个二分,就轻松过了。。但是目测nlog^3n怎么这么快??
Gravatarthomount
2016-04-27 10:28 7楼
inf要往死里开...1e15都wa了
Gravatarstdafx.h
2016-02-27 19:00 6楼
Gravatarstdafx.h
2016-02-27 18:57 5楼
荏弱没话说,膜诸位大爷,跪,NOI轻点虐。
Gravatar天一阁
2015-06-29 20:24 4楼
Nlog^3N的算法过了……(传统题坑完啦)
Gravatar真呆菌
2015-06-22 10:18 3楼
回复 @Chenyao2333 :
跪点分Orzzzzzzzzzzzzzzzzzzzz
GravatarAsm.Def
2015-05-29 14:57 2楼

1768. [NOI 2014]购票

★★★★   输入文件:ticket.in   输出文件:ticket.out   简单对比
时间限制:3 s   内存限制:562 MiB

【题目描述】

今年夏天,$NOI$在$SZ$市迎来了她$30$周岁的生日。来自全国 $n$个城市的$OIer$们都会从各地出发,到$SZ$市参加这次盛会。

全国的城市构成了一棵以$SZ$市为根的有根树,每个城市与它的父亲用道路连接。为了方便起见,我们将全国的$n$个城市用$1$ 到$ n$的整数编号。其中$SZ$市的编号为 $1$。对于除$SZ$市之外的任意一个城市 $v$,我们给出了它在这棵树上的父亲城市 $f_v$ 以及到父亲城市道路的长度$s_v$。从城市 $v$ 前往$SZ$市的方法为:选择城市 $v$ 的一个祖先 $a$,支付购票的费用,乘坐交通工具到达 $a$。再选择城市 $a$ 的一个祖先$b$,支付费用并到达$ b$。以此类推,直至到达$SZ$市。对于任意一个城市 $v$,我们会给出一个交通工具的距离限制 $l_v$。对于城市$ v $的祖先$a$,只有当它们之间所有道路的总长度不超过$ l_v $时,从城市 $v$ 才可以通过一次购票到达城市 $a$,否则不能通过一次购票到达。对于每个城市$v$,我们还会给出两个非负整数 $p_v$,$q_v$ 作为票价参数。若城市$ v $到城市$ a $所有道路的总长度为 $d$,那么从城市 $v $到城市$ a $购买的票价为

$d p_v+q_v$。每个城市的$OIer$都希望自己到达$SZ$市时,用于购票的总资金最少。你的任务就是,告诉每个城市的$OIer$他们所花的最少资金是多少。

【输入格式】

输入的第$ 1 $行包含$2$个非负整数 $n,t$,分别表示城市的个数和数据类型(其意义将在后面提到)。 输入文件的第 $2$ 到 $n$ 行,每行描述一个除$SZ$之外的城市。其中第 $v$ 行包含 $5$ 个非负整数 $f_v,s_v,p_v,q_v,l_v$,分别表示城市 $v$ 的父亲城市,它到父亲城市道路的长度,票价的两个参数和距离限制。 请注意:输入不包含编号为 $1$ 的$SZ$市,第 $2$ 行到第 $n$ 行分别描述的是城市 $2$ 到城市 $n$。

【输出格式】

输出包含 $n-1$ 行,每行包含一个整数。其中第 $v$ 行表示从城市 $v+1$ 出发,到达$SZ$市最少的购票费用。 同样请注意:输出不包含编号为 $1$ 的$SZ$市。

【样例输入】

 7 3
1 2 20 0 3
1 5 10 100 5
2 4 10 10 10
2 9 1 100 10
3 5 20 100 10
4 4 20 0 10 

【样例输出】

40
150
70
149
300
150

【提示】

对于所有测试数据,保证 $0≤p_v≤10^6,0≤q_v≤10^{12},1≤f_v<v$;保证$ 0<s_v≤l_v≤2×10^{11}$,且任意城市到SZ市的总路程长度不超过$ 2×10^{11}$。

输入的 $t$ 表示数据类型,$0≤t<4$,其中:

当 $t=0$ 或 $2$ 时,对输入的所有城市 $v$,都有$ f_v=v-1$,即所有城市构成一个以$SZ$市为终点的链;

当 $t=0$ 或 $1$ 时,对输入的所有城市 $v$,都有 $l_v=2×10^{11}$,即没有移动的距离限制,每个城市都能到达它的所有祖先;

当 $t=3$ 时,数据没有特殊性质。

【来源】

$NOI$ $2014$ $day2$ $C$