bzoj1927 Sdoi2010 星際競速

2021-08-14 12:35:09 字數 2343 閱讀 1193

description

10年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的

夢想,來自傑森座α星的悠悠也是其中之一。賽車大賽的賽場由n顆行星和m條雙向星際航路構成,其中每顆行星都

有乙個不同的引力值。大賽要求車手們從一顆與這n顆行星之間沒有任何航路的天體出發,訪問這n顆行星每顆恰好

一次,首先完成這一目標的人獲得勝利。由於賽制非常開放,很多人駕駛著千奇百怪的自製賽車來參賽。這次悠悠

駕駛的賽車名為超能電驢,這是一部凝聚了全銀河最尖端科技結晶的夢幻賽車。作為最高科技的產物,超能電驢有

兩種移動模式:高速航行模式和能力爆發模式。在高速航行模式下,超能電驢會展開反物質引擎,以數倍於光速的

速度沿星際航路高速航行。在能力爆發模式下,超能電驢脫離時空的束縛,使用超能力進行空間跳躍——在經過一

段時間的定位之後,它能瞬間移動到任意乙個行星。天不遂人願,在比賽的前一天,超能電驢在一場離子風暴中不

幸受損,機能出現了一些障礙:在使用高速航行模式的時候,只能由每個星球飛往引力比它大的星球,否則賽車就

會發生**。儘管心愛的賽車出了問題,但是悠悠仍然堅信自己可以取得勝利。他找到了全銀河最聰明的賢者——

你,請你為他安排一條比賽的方案,使得他能夠用最少的時間完成比賽。

input

第一行是兩個正整數n,m。第二行n個數a1~an,其中ai表示使用能力爆發模式到達行星i所需的定位時間。接下

來m行,每行3個正整數ui,vi,wi,表示在編號為ui和vi的行星之間存在一條需要航行wi時間的星際航路。輸入資料

已經按引力值排序,也就是編號小的行星引力值一定小,且不會有兩顆行星引力值相同。

output

僅包含乙個正整數,表示完成比賽所需的最少時間。

sample input

3 3

1 100 100

2 1 10

1 3 1

2 3 1

sample output

12 hint

說明:先使用能力爆發模式到行星1,花費時間1。然後切換到高速航行模式,航行到行星2,花費時間10。之

後繼續航行到行星3完成比賽,花費時間1。雖然看起來從行星1到行星3再到行星2更優,但我們卻不能那樣做,因

為那會導致超能電驢**。n≤800,m≤15000。輸入資料中的任何數都不會超過106。輸入資料保證任意兩顆行星

之間至多存在一條航道,且不會存在某顆行星到自己的航道。

source

第一輪day2

題意:求一條路線可以滿足遍歷圖中的n個點恰好一次 首先看到這個 可能腦子裡率先就是拆點上下界最小費用流 但是會t 取膜了 題解 看了發現我可以確定的是我一定是從引力下的地方指向引力大的地方 然後這樣的話就可以看作乙個dag了 但是可能會說為什麼沒有考慮可以使用另外一種技能的情況啊 是啊 可以抽象的看作我首先從這個點跳到我開始的「起點」然後再從起點重新出發 那麼這樣來是不是就是最小權值路徑覆蓋問題了呢首先 拆點 每個點拆成入點和出點 源點向每個點的入點連權值為1 費用為0的邊 然後如果有關聯 從小連向大連權值為1 費用為時間的邊 然後從源連向每個節點的出點連 容量1 費用為瞬間轉移時間的邊 然後 每個點出點向匯連容量1費用0的點

為什麼這樣做是對的 因為每個點的出點可以看作是這個點的最終結束狀態 我是從前面乙個轉移過來還是我轉移到別人那裡重新開始新的一段

#include

#include

#include

#include

#define inf 0x3f3f3f3f

#define n 2000

using

namespace

std;

inline

char gc()

return *s++;

}inline

int read()

int num=1,h[n],f[n],pre[n],path[n],t,n,m;bool flag[n];

struct nodedata[44000];

inline

void insert1(int x,int y,int z,int c)

inline

bool spfa()}}

}if (pre[t]==-1) return

0;else

return1;}

int main()

for (int i=1;i<=n;++i) insert1(0,i,1,0),insert1(i+n,t,1,0);int ans=0;

while(spfa())

}printf("%d",ans);

return

0;}

bzoj1927 Sdoi2010 星際競速

傳送門 思路 拆點拆成x和x s向x 連邊,容量為1,費用為定位時間 s向x連邊,容量為1,費用為0 對於原圖的邊u v u向v 連邊,容量為1,費用為時間 x 向t連邊,容量為1,費用為0 跑一遍費用流即可 include include include includeconst int maxn...

bzoj1927 Sdoi2010 星際競速

description 10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的夢想,來自傑森座 星的悠悠也是其中之一。賽車大賽的賽場由 n 顆行星和m條雙向星際航路構成,其中每顆行星都有 乙個不同的引力值。大賽要求車手們從一顆與這 n 顆行星之間沒有任何...

SDOI2010 bzoj1927 星際競速

描述 10 年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的夢想,來自傑森座 星的悠悠也是其中之一。賽車大賽的賽場由 n 顆行星和m條雙向星際航路構成,其中每顆行星都有乙個不同的引力值。大賽要求車手們從一顆與這 n 顆行星之間沒有任何航路的天體出發,訪問...