10年一度的銀河系賽車大賽又要開始了。作為全銀河最盛大的活動之一,奪得這個專案的冠軍無疑是很多人的
夢想,來自傑森座α星的悠悠也是其中之一。賽車大賽的賽場由n顆行星和m條雙向星際航路構成,其中每顆行星都
有乙個不同的引力值。大賽要求車手們從一顆與這n顆行星之間沒有任何航路的天體出發,訪問這n顆行星每顆恰好
一次,首先完成這一目標的人獲得勝利。由於賽制非常開放,很多人駕駛著千奇百怪的自製賽車來參賽。這次悠悠
駕駛的賽車名為超能電驢,這是一部凝聚了全銀河最尖端科技結晶的夢幻賽車。作為最高科技的產物,超能電驢有
兩種移動模式:高速航行模式和能力爆發模式。在高速航行模式下,超能電驢會展開反物質引擎,以數倍於光速的
速度沿星際航路高速航行。在能力爆發模式下,超能電驢脫離時空的束縛,使用超能力進行空間跳躍——在經過一
段時間的定位之後,它能瞬間移動到任意乙個行星。天不遂人願,在比賽的前一天,超能電驢在一場離子風暴中不
幸受損,機能出現了一些障礙:在使用高速航行模式的時候,只能由每個星球飛往引力比它大的星球,否則賽車就
會發生**。儘管心愛的賽車出了問題,但是悠悠仍然堅信自己可以取得勝利。他找到了全銀河最聰明的賢者——
你,請你為他安排一條比賽的方案,使得他能夠用最少的時間完成比賽。
第一行是兩個正整數n,m。第二行n個數a1~an,其中ai表示使用能力爆發模式到達行星i所需的定位時間。接下
來m行,每行3個正整數ui,vi,wi,表示在編號為ui和vi的行星之間存在一條需要航行wi時間的星際航路。輸入資料
已經按引力值排序,也就是編號小的行星引力值一定小,且不會有兩顆行星引力值相同。
僅包含乙個正整數,表示完成比賽所需的最少時間。
3 3
1 100 100
2 1 10
1 3 1
2 3 1
12說明:先使用能力爆發模式到行星1,花費時間1。然後切換到高速航行模式,航行到行星2,花費時間10。之
後繼續航行到行星3完成比賽,花費時間1。雖然看起來從行星1到行星3再到行星2更優,但我們卻不能那樣做,因
為那會導致超能電驢**。n≤800,m≤15000。輸入資料中的任何數都不會超過106。輸入資料保證任意兩顆行星
之間至多存在一條航道,且不會存在某顆行星到自己的航道。
第一輪day2
由於只能從編號小的走向編號大的,所以這個圖是乙個dag,是乙個帶權的dag最小路徑覆蓋問題
建圖和dag的最小路徑覆蓋差不多,是乙個經典的二分圖模型,對於每個點拆為x和y,對於圖中每一條有向邊(u,v),連ux->vy;
相當於二分圖的一對匹配對應著原dag上的一條路徑,這個題邊有費用就用費用流,因為可以開能量爆發,所以s向每乙個uy連邊;
其餘的話連s->ux,uy->t;最後要達到最大流也就是所有的uy->t都滿了,即所有的星球都被覆蓋了;具體講一下正確性
到uy的方式有兩種:
1.從s直接開能量爆發
2.從vx->uy,這一對匹配也就對應著原圖中(v,u)這條有向邊;
所以跑最小費用最大流即可
#include#include#include#include#define rg registerusing namespace std;
const int n=100000;
const int inf=19260817;
int head[n],nxt[n],to[n],c[n],s[n],fa[n],dis[n],cnt=1,n,m,s,t,cost,tt;
int w[n],ti[n],vis[n],q[n*150];
struct dataa[n];
inline void addedge(rg int x,rg int y,rg int z,rg int v)
inline void lnk(rg int x,rg int y,rg int z,rg int v)
inline bool spfa()}}
if(dis[t]==inf) return 0;
int f=inf;
for(rg int i=fa[t];i;i=fa[to[i^1]]) f=min(f,s[i]);
for(rg int i=fa[t];i;i=fa[to[i^1]]) s[i]-=f,s[i^1]+=f;
cost+=dis[t]*f;
return 1;
}int main()
for(rg int i=1;i<=n;i++) lnk(a[i].y,t,1,0);
while(spfa());
printf("%d\n",cost);
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 顆行星之間沒有任何航路的天體出發,訪問...