BZOJ-1927-星际竞速-SDOI2010
生活随笔
收集整理的這篇文章主要介紹了
BZOJ-1927-星际竞速-SDOI2010
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
描述
10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一, 奪得這個項目的冠軍無疑是很多人的夢想,來自杰森座 α星的悠悠也是其中之一。 賽車大賽的賽場由 N 顆行星和M條雙向星際航路構成,其中每顆行星都有 一個不同的引力值。大賽要求車手們從一顆與這 N 顆行星之間沒有任何航路的 天體出發,訪問這 N 顆行星每顆恰好一次,首先完成這一目標的人獲得勝利。 由于賽制非常開放,很多人駕駛著千奇百怪的自制賽車來參賽。這次悠悠駕 駛的賽車名為超能電驢,這是一部凝聚了全銀河最尖端科技結晶的夢幻賽車。作 為最高科技的產物,超能電驢有兩種移動模式:高速航行模式和能力爆發模式。 在高速航行模式下,超能電驢會展開反物質引擎,以數倍于光速的速度沿星際航 路高速航行。在能力爆發模式下,超能電驢脫離時空的束縛,使用超能力進行空 間跳躍——在經過一段時間的定位之后,它能瞬間移動到任意一個行星。 天不遂人愿,在比賽的前一天,超能電驢在一場離子風暴中不幸受損,機能 出現了一些障礙:在使用高速航行模式的時候,只能由每個星球飛往引力比它大 的星球,否則賽車就會發生爆炸。 盡管心愛的賽車出了問題,但是悠悠仍然堅信自己可以取得勝利。他找到了 全銀河最聰明的賢者——你,請你為他安排一條比賽的方案,使得他能夠用最少 的時間完成比賽。
分析
- 凡是遇到使每個點都經過一次且總時間最短(長)的題目就可以考慮網絡流的最小費用最大流. 拆點, S向Xi連一條容量為1費用為0的邊, Yi向T連一條容量為1費用為0的邊, 如果i->j有邊, 就從Xi->Yj連一條容量為1費用為路徑長度的邊. 然后跑S->T最小費用最大流, 費用就是最短路徑長度.
- 分析一下上面的過程, Yi向T的邊表示經過了i, 因為最大流所以這些邊一定會滿流, 而且容量為1表示只經過一次. S向Xi的邊表示從i出發, 經過i代表著到達i再從i離開.
- 對于題目中的瞬移, 其實不需要把所有邊全都加上, 只需要加 S->Yi 容量為1費用為瞬移定位時間. 相當于j高速行駛到達i的方案和瞬移到i的方案擇優. 可知如果最后S->i的邊沒有流的話, 最優方案就是到達i之后瞬移到達其他點.
代碼
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的BZOJ-1927-星际竞速-SDOI2010的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: BZOJ-1857-传送带-SCOI20
- 下一篇: BZOJ-3876-支线剧情-Ahoi2