JLOI2011 飛行路線

2022-05-26 07:00:12 字數 835 閱讀 9093

alice和bob現在要乘飛機旅行,他們選擇了一家相對便宜的航空公司

該航空公司一共在n個城市設有業務,設這些城市分別標記為0到n - 1

共有m種航線,每種航線連線兩個城市,並且航線有一定的**

alice和bob現在要從乙個城市沿著航線到達另乙個城市,途中可以進行轉機

航空公司對他們這次旅行也推出優惠,他們可以免費在最多k:種航線上搭乘飛

那麼alice和bob這次出行最少花費多少?

還是分層圖的套路,有k種航線免費,就建k層,每往下一層就說明免費坐了一次航線

有一點很重要,分層圖的題目空間一定要開夠,不要像普通最短路那樣看到點數就跑

還要考慮層數對使用空間的影響

水題,不多說了

**:

#include#define n 1500005

using namespace std;

int n,m,k,s,t,u,v,w;

struct edge

edge[n<<1];

int cnt=1,head[n];

struct node

); dis[s]=0;

while(!q.empty())

); }

} }}templateinline void read(t &res)

int main()

for(register int j=0;j}

for(register int i=0;idijkstra(s);

printf("%d\n",dis[t+k*n]);

return 0;

}

JLOI2011 飛行路線

提交傳送門 師兄們覺得我是不是很挫啊,做了1天多才做出這道裸spfa 人家只是試著打了一下拆點而已嘛 就是spfa只是2維而已 d i 0 代表第i個點 不用免費次數時得最小距離 d i 1 代表第i個點 用免費次數時得最小距離 就很簡單了是不是?description alice和bob現在要乘飛...

JLOI2011 飛行路線

alice和bob現在要乘飛機旅行,他們選擇了一家相對便宜的航空公司。該航空公司一共在 nnn 個城市設有業務,設這些城市分別標記為 000 到 n 1n 1n 1 一共有 mmm 種航線,每種航線連線兩個城市,並且航線有一定的 alice和bob現在要從乙個城市沿著航線到達另乙個城市,途中可以進行...

JLOI2011 飛行路線

alice和bob現在要乘飛機旅行,他們選擇了一家相對便宜的航空公司。該航空公司一共在 n 個城市設有業務,設這些城市分別標記為 0 到 n 1 一共有 m 種航線,每種航線連線兩個城市,並且航線有一定的 alice和bob現在要從乙個城市沿著航線到達另乙個城市,途中可以進行轉機。航空公司對他們這次...