bzoj1774. [Usaco2009 Dec]Toll 过路费 题解

Describe

一句话题意:给你一个有点权$n$与边权$m$的图,询问$q$次,问两个点间最短路长度。(最短路定义为路径上的边权和+路径上的点权的最大值)

$1\leq n\leq 250,1\leq m\leq 10000,1\leq q\leq 10000$

Solution

考虑到点的数量小于$250$,所以可以$Floyed$求出任意两点之间的最短路径长度,记录答案。

由于最短路定义为边权和+点权最大值,所以$Floyed$枚举的中间点点权应该从小到大。

假设$1–>2$有两条路,一条$Sum_d=1,Max_v=7,cost=8$,一条$Sum_d=4,Max_v=3,cost=7$,选择第二条。

假设$2–>3$有一条路,一条$Sum_d=3,Max_v=5,cost=8$,很容易发现如果一开始选择第一条路的$cost=(1+3)+7=11$,第二条$cost=(4+3)+5=12$,很明显,如果一开始选择第一条的话$1–>3$的最短路会更短。

Code

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇