給出n≤1
e4
n\leq1e4
n≤1e
4個點,m≤5
e4
m\leq5e4
m≤5e
4條邊的無向圖。從s
ss作為起點出發到終點t
tt。有k≤10
k\leq10
k≤10
次機會可以使得當前這條邊的代價為0
00,求最少代價。
k
kk很小,用dis
u,
idis_
disu,i
表示到當前u
uu這個點還有i
ii次機會的最短路。轉移的時候兩種決策,不使用:dis
v,
idis_
disv,i
由disu
,i+w
u,
vdis_+w_
disu,i
+wu
,v轉移,使用:dis
v,
idis_
disv,i
由disu
,i+1
dis_
disu,i
+1轉移。求最短路過程中轉移。
#includeusing namespace std;
typedef long long ll;
const int inf=0x3f3f3f3f;
const ll inf=long_long_max;
int n,m,k,s,t;
const int n=1e4+7;
struct edge;
vectorg[n];
struct node
};priority_queueq;
ll dis[n][11];
ll solve(int s,int t) );
while(!q.empty()) );}}
for(int j=0;jdis[u][j+1]) );}}
} }ll ans=1e15;
for(int j=0;j<=k;j++)
ans=min(ans,dis[t][j]);
return ans;
}int main() );
g[v].push_back();
} ll ans=solve(s,t);
printf("%lld\n",ans);
return 0;
}
BZOJ2763 飛行路線(最短路)
bzoj alice和bob現在要乘飛機旅行,他們選擇了一家相對便宜的航空公司。該航空公司一共在n個城市設有業務,設這些城市分別標記為0到n 1,一共有m種航線,每種航線連線兩個城市,並且航線有一定的 alice和bob現在要從乙個城市沿著航線到達另乙個城市,途中可以進行轉機。航空公司對他們這次旅行...
BZOJ2763 飛行路線(最短路)
bzoj alice和bob現在要乘飛機旅行,他們選擇了一家相對便宜的航空公司。該航空公司一共在n個城市設有業務,設這些城市分別標記為0到n 1,一共有m種航線,每種航線連線兩個城市,並且航線有一定的 alice和bob現在要從乙個城市沿著航線到達另乙個城市,途中可以進行轉機。航空公司對他們這次旅行...
BZOJ 2763 飛行路線
2763 jloi2011 飛行路線 time limit 10 sec memory limit 128 mb description alice和bob現在要乘飛機旅行,他們選擇了一家相對便宜的航空公司。該航空公司一共在n個城市設有業務,設這些城市分別標記為0到n 1,一共有m種航線,每種航線連...