BZOJ 3876 支線劇情

2022-08-20 03:39:08 字數 2440 閱讀 8041

支線劇情

【故事背景】

宅男jyy非常喜歡玩rpg遊戲,比如仙劍,軒轅劍等等。不過jyy喜歡的並不是戰鬥場景,而是類似電視劇集一般的充滿恩怨情仇的劇情。這些遊戲往往都有很多的支線劇情,現在jyy想花費最少的時間看完所有的支線劇情。

【問題描述】

jyy現在所玩的rpg遊戲中,一共有n個劇情點,由1到n編號,第i個劇情點可以根據jyy的不同的選擇,而經過不同的支線劇情,前往ki種不同的新的劇情點。當然如果為0,則說明i號劇情點是遊戲的乙個結局了。

jyy**乙個支線劇情需要一定的時間。jyy一開始處在1號劇情點,也就是遊戲的開始。顯然任何乙個劇情點都是從1號劇情點可達的。此外,隨著遊戲的進行,劇情是不可逆的。所以遊戲保證從任意劇情點出發,都不能再回到這個劇情點。由於jyy過度使用修改器,導致遊戲的「存檔」和「讀檔」功能損壞了,

所以jyy要想回到之前的劇情點,唯一的方法就是退出當前遊戲,並開始新的遊戲,也就是回到1號劇情點。jyy可以在任何時刻退出遊戲並重新開始。不斷開始新的遊戲重複**已經看過的劇情是很痛苦,jyy希望花費最少的時間,看完所有不同的支線劇情。

【輸入格式】

輸入一行包含乙個正整數n。

接下來n行,第i行為i號劇情點的資訊;

第乙個整數為,接下來個整數對,bij和tij,表示從劇情點i可以前往劇

情點,並且**這段支線劇情需要花費的時間。

【輸出格式】

輸出一行包含乙個整數,表示jyy看完所有支線劇情所需要的最少時間。

【樣例輸入】

62 2 1 3 2

2 4 3 5 4

2 5 5 6 600

0【樣例輸出】

24【樣例解釋】

jyy需要重新開始3次遊戲,加上一開始的一次遊戲,4次遊戲的程序是

1->2->4,1->2->5,1->3->5和1->3->6。

對於100%的資料滿足n<=300,0<=ki<=50,1<=tij<=300,sigma(ki)<=5000

題解:題意就是要求走完所有邊所需的最小時間(費用)

相當於有上下界無源匯可行最小費用流

那麼就把題目中給定的邊下界設為 1

重新開始就從每乙個點連向點 1 就好了

具體見圖可看**

對於超級源與超級匯的連邊也一起連在裡面了

1 #include2 #include3 #include4 #include5 #include6 #include7

using

namespace

std;

8const

int maxn = 1e3 + 1;9

const

int maxm = 3e4 + 1;10

const

int inf = 1e9 + 7;11

intn;

12int

s, t, nors, nort, sups, supt;

13int

du[maxn];

14int

len;

15int

nex[maxm], fir[maxn], ver[maxm], con[maxm], val[maxm];

16bool

vis[maxn];

17int que[maxm << 1

], dis[maxn];

18int

ans;

19 inline void scan(int &x)

2028 inline void add(int x, int y, int c, int

w)29

36 inline void ins(int x, int y, int c, int

w)37

41 inline void sup(int x, int y, int l, int r, int

w)42

46 inline bool

spfa()

4769}70

}71 vis[u] = false;72

}73return dis[t] 75int dinic(int u, int

f)7694}

95return f -g;96}

97 inline int flow(int x, int

y)98

103 inline void

init()

104111

intmain()

112126

if(i != 1) ins(i, 1, inf, 0

);127

}128 printf("%d"

, flow(sups, supt));

129 }

C 之路高階 bzoj3876(支線劇情)

f.a.qs home discuss problemset status ranklist contest modifyuser hyxzc logout 捐贈本站 notice 由於本oj建立在linux平台下,而許多題的資料在windows下製作,請注意輸入 輸出語句及資料型別及範圍,避免無謂...

BZOJ3876 AHOI2014支線劇情

思路 就是每條邊要經過最少一次咯,直接上下界網路流把下屆設定成1即可,當然一些關於類似匯點的處理方法細節就寫著 裡了。詳細的可以看別人的。貌似直接每條邊的流量下界設定成1,直接跑最小費用最大流?好像沒有乙個明確的匯點 假設增加乙個匯點的話 那麼結局點要向匯點連多少的邊?索性不要匯點 直接每個點向源點...

Bzoj3876 Ahoi2014 支線劇情

time limit 10 sec memory limit 256 mb submit 1686 solved 1031 故事背景 宅男jyy非常喜歡玩rpg遊戲,比如仙劍,軒轅劍等等。不過jyy喜歡的並不是戰鬥場景,而是類似電視劇集一般的充滿恩怨情仇的劇情。這些遊戲往往 都有很多的支線劇情,現在...