SDOI2010 大陸爭霸 帶限制最短路

2022-05-05 13:51:09 字數 1108 閱讀 9978

首先明確最短路是dp 帶繼承的dp 是有轉移的

bellman沒有順序的鬆弛 複雜度很高 dijk維護乙個正解點集 很快

這道題給最短路加了限制:同時走若干條路,當走過某些點後才能走該點

原轉移為:d[x] = min

新加的轉移為:d[x] = max

可以知道 依然可以維護乙個正解點集 當沒有protect才可以加入點集

我犯的錯誤:

longlong

莫名tle的原因很可能是陣列開小 相信複雜度計算

可能會補充手寫堆dijk

我tm顯然是不會補了!!!!wtf lazyboy!  -state 010913

view code

1 #include 2 #include 3 #include 4

using

namespace

std;

5int

n, m;

6typedef __int64 ll;

7const

int n = 10000, m = 200000;8

const ll inf = 1ll << 60;9

int key[m], head[n], next[m], len[m], cnt, in

[n];

10ll d[n];

11 vectorvc[n];

12 vector::iterator it;

13 inline void add (int x, int y, int

w)14

20 inline void

dijk ()21;

23for (int i = 0; i <= n; i ++)

24 d[i] =inf;

25 d[1] = 0;26

for (int i = 1; i <= n; i ++)

2741}42

}43intmain ()

4455

dijk ();

56 printf ("

%i64d

", d[n]);

57return0;

58 }

大陸爭霸 SDOI2010 帶限制最短路

只要你有無限個自爆機械人,你就能為所欲為 斯普林 布拉澤 題目描述 略一句話題意 傑森國有 n 個城市,由 m 條單向道 路連線。傑森國的首都是城市 n 你只需摧毀傑森國首都就能獲勝。為了盡量減小己方的消耗,你決定使用自爆機械人完成這一任務。唯一的困難是,傑森國的一部分城市有結界保護,不破壞掉結界就...

SDOI2010 最短路 大陸爭霸

我們將每個節點的最短距離記錄為如下兩個量 arr 和 into 分別代表達到當前點的最短距離和滿足當前節點前置條件的最短距離,最短距離在兩者中取大值。然後硬跑最短路就行了。include include include include define maxn 300005 define maxm 7...

1922 Sdoi2010 大陸爭霸

time limit 10 sec memory limit 64 mb submit 1552 solved 682 submit status discuss 在乙個遙遠的世界裡有兩個國家 位於大陸西端的傑森國和位於大陸東端的 克里斯國。兩個國家的人民分別信仰兩個對立的神 傑森國信仰象徵黑暗和毀...