SDOI2010 最短路 大陸爭霸

2022-05-24 13:51:09 字數 1123 閱讀 3814

我們將每個節點的最短距離記錄為如下兩個量:\(arr\) 和 \(into\),分別代表達到當前點的最短距離滿足當前節點前置條件的最短距離,最短距離在兩者中取大值。

然後硬跑最短路就行了。

**:

# include # include # include # include # define maxn 300005

# define maxm 700005

# define pii std::pair# define mkp std::make_pair

struct edgee[maxm]; int hd[maxn], cnte;

struct nodend[maxn]; int hdnd[maxn], cntn;

int degin[maxn], dis[maxn]; bool vis[maxn];

int arr[maxn], into[maxn]; // 到達時間,可以進入的時間

void adde(int u, int v, int w);

hd[u] = cnte;

}void addn(int from, int to);

hdnd[from] = cntn;

}int main()

for(int i = 1, l, x; i <= n; i++)

} std::priority_queue, std::greater>h;

memset(dis, 0x3f, sizeof(dis)); dis[1] = 0;

memset(arr, 0x3f, sizeof(arr)); arr[1] = 0;

// memset(into ,0x3f, sizeof(into)); into[1] = 0;

h.push(mkp(dis[1], 1)); // degin[1] = 0;

while(h.size())}}

for(int i = hdnd[now]; i; i = nd[i].next)

}} }

printf("%d", dis[n]);

return 0;

}

大陸爭霸 SDOI2010 帶限制最短路

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

SDOI2010 大陸爭霸 帶限制最短路

首先明確最短路是dp 帶繼承的dp 是有轉移的 bellman沒有順序的鬆弛 複雜度很高 dijk維護乙個正解點集 很快 這道題給最短路加了限制 同時走若干條路,當走過某些點後才能走該點 原轉移為 d x min 新加的轉移為 d x max 可以知道 依然可以維護乙個正解點集 當沒有protect...

1922 Sdoi2010 大陸爭霸

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