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