標籤:des http 使用 io 資料 ar 問題 div
1927: [Sdoi2010]星際競速Time Limit: 20 Sec Memory Limit: 259 MB
Submit: 1073 Solved: 638
[Submit][Status]Description10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一, 奪得這個項目的冠軍無疑是很多人的夢想,來自傑森座 α星的悠悠也是其中之一。 賽車大賽的賽場由 N 顆行星和M條雙向星際航路構成,其中每顆行星都有 一個不同的引力值。大賽要求車手們從一顆與這 N 顆行星之間沒有任何航路的 天體出發,訪問這 N 顆行星每顆恰好一次,首先完成這一目標的人獲得勝利。 由於賽制非常開放,很多人駕駛著千奇百怪的自製賽車來參賽。這次悠悠駕 駛的賽車名為超能電驢,這是一部凝聚了全銀河最尖端科技結晶的夢幻賽車。作 為最高科技的產物,超能電驢有兩種移動模式:高速航行模式和能力爆發模式。 在高速航行模式下,超能電驢會展開反物質引擎,以數倍於光速的速度沿星際航 路高速航行。在能力爆發模式下,超能電驢脫離時空的束縛,使用超能力進行空 間跳躍——在經過一段時間的定位之後,它能瞬間移動到任意一個行星。 天不遂人願,在比賽的前一天,超能電驢在一場離子風暴中不幸受損,機能 出現了一些障礙:在使用高速航行模式的時候,只能由每個星球飛往引力比它大 的星球,否則賽車就會發生爆炸。 儘管心愛的賽車出了問題,但是悠悠仍然堅信自己可以取得勝利。他找到了 全銀河最聰明的賢者——你,請你為他安排一條比賽的方案,使得他能夠用最少 的時間完成比賽。Input第一行是兩個正整數 N, M。 第二行 N 個數 A1~AN, 其中Ai表示使用能力爆發模式到達行星 i 所需的定位 時間。 接下來 M行,每行 3個正整數ui, vi, wi,表示在編號為 ui和vi的行星之間存 在一條需要航行wi時間的星際航路。 輸入資料已經按引力值排序,也就是編號小的行星引力值一定小,且不會有 兩顆行星引力值相同。Output僅包含一個正整數,表示完成比賽所需的最少時間。Sample Input3 3
1 100 100
2 1 10
1 3 1
2 3 1 Sample Output12HINT
說明:先使用能力爆發模式到行星 1,花費時間 1。
然後切換到高速航行模式,航行到行星 2,花費時間10。
之後繼續航行到行星 3完成比賽,花費時間 1。
雖然看起來從行星 1到行星3再到行星 2更優,但我們卻不能那樣做,因為
那會導致超能電驢爆炸。
對於 30%的資料 N≤20,M≤50;
對於 70%的資料 N≤200,M≤4000;
對於100%的資料N≤800, M≤15000。輸入資料中的任何數都不會超過106
。
輸入資料保證任意兩顆行星之間至多存在一條航道,且不會存在某顆行星到
自己的航道。
Source
第一輪Day2
題解:被DP虐哭了,來水一髮網絡流。。。說一下這題的構圖方式:1.將每個點 拆為兩個點 i ,i+n2.建立附加源ss,由 ss 向 i +n連容量為1,費用為能力爆發所需時間的邊3.由s 向 i 連容量為1,費用為0的邊4.由i+n 向 t連容量為1,費用為0的邊5.原圖中存在 x到y,且x<y,那麼連一條 x 到 y+n ,容量為1,費用為走這條路所需時間的邊求最小費用最大流就是答案這樣建圖交上去就可以AC了,可是為什麼這麼建圖?自己說不清楚,還是貼jry牛的題解吧--------------------------------------------------------------------------------------------------------------------------------------------------類似於最少路徑覆蓋,但是要用費用流。由於保證可以一遍覆蓋,那麼就費用流也就保證是一條路徑覆蓋所有的點。這樣的話就是最小路徑覆蓋的加強版。把每個點拆成兩個點。如果I到J有一條邊就往I1向J2連一條費用為時間,流量為1的邊,由源向每個I1,每個I2向匯連一條費用為0流量為1的邊,它的費用流結果就是答案。開始我很SB的把瞬移都當成邊連進去,然後就T得一塌糊塗,其實只要從源向每個I2連一條流量為1費用為瞬移時間的邊即可,簡單粗暴,就AC了。--------------------------------------------------------------------------------------------------------------------------------------------------