NOIP模擬 旅程

2022-05-12 04:42:14 字數 1015 閱讀 1366

神即將帶領一些人去他們的孤寂之境,由於這個世界的不穩定,地點之間的有向道路會不定期地毀壞,出於工作準備,神想知道在某些道路毀壞之後某兩點之間的最短路。就是給定乙個有向圖,現有兩個操作,操作 1 是刪除一條邊(一條邊可重複刪除),操作 2是詢問兩個點之間的最短路。

對於 30% 的資料:n,m ≤ 10

對於 50% 的資料:n,m ≤ 50

對於 100% 的資料:n ≤ 200,m ≤ 100000, 操作 1 不超過 200 次,邊權不超過 10000

floyd,又是刪邊轉換成加邊。

每次加一條邊,只用這一條邊去鬆弛這張圖。

因為一條邊會被多次刪除,所以刪邊的時候記錄一下當前邊權,後來加邊的時候用這個當前邊權鬆弛。

#include

using

namespace

std;  

#define n 220

#define m 200010

#define ll long long

#define inf 123456789

ll n,m,cnt;  

ll e[n][n],w[m],x[m],y[m],op[m],ans[m];  

template

<

class

t>    

inline

void

read(t &x)    

intmain()  

}  for(ll k=1;k<=n;k++)  

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

for(ll j=1;j<=n;j++)  

e[i][j]=min(e[i][j],e[i][k]+e[k][j]);     

for(ll z=m;z>=1;z--)   

else

ans[++cnt]=e[x[z]][y[z]];  

}  for

(ll i=cnt;i>=1;i--)  

return

0;  

}  

10 12模擬賽 旅程 最短路

神即將帶領一些人去他們的孤寂之境,由於這個世界的不穩定,地點之間的有向道路會不定期地毀壞,出於工作準備,神想知道在某些道路毀壞之後某兩點之間的最短路。就是給定乙個有向圖,現有兩個操作,操作 1 是刪除一條邊 一條邊可重複刪除 操作 2是詢問兩個點之間的最短路。第 1 行兩個正整數 n,m,分別表示圖...

NOIP模擬 修路

這題第一眼看上去有些懵逼,還以為是dp。第二眼,哦,這麼裸的最小生成樹,2分鐘打完,拍都沒對,自信100分。最終100分。每條邊的權值減去連個節點的權值,所有的邊做一次最小生成樹就好了。include include include include include define fo i,a,b f...

NOIP模擬 項鍊

經過一番周折,bob找到了alice,為了安慰alice驚魂未定的心,bob決定給alice買一條手鍊,這條手鍊由m個珍珠組成,每個珍珠上刻著不同的小寫字母。當alice看到一些字母按照一定的順序排列成的字串時,就會產生一定的愉悅值。bob現在可以在這m個珍珠上刻上字母,現在他想知道,如何刻字母可以...