HDU 5637 Transform 單源最短路

2022-05-05 05:45:11 字數 914 閱讀 3550

令n=(1<<17)-1。

首先很容易想到建圖,跑最短路,不過有多次查詢,如果每次都跑最短路的話要m*n*logn,會t。

所以可能是我們模型建的太一般化了,需要考慮題目的特殊性。

s到t的最少變化次數本質上等於0到s^t的最少變化次數。

所以我們只要求一次單源最短路徑就可以了,只要nlogn的複雜度。

#pragma comment(linker, "/stack:102400000,102400000") #include

#include

#include

#include

#include

using

namespace

std;

const

int maxn = 1

<< 17

;const

int mod = 1e9 + 7

;const

int inf =1e9;

typedef

long

long

ll;vector

g[maxn];

int arr[22

];int

n, m;

intinq[maxn], d[maxn];

void

spfa() }}

}}void

init()

intmain()

for (int j = 0; j < 17; j++)

}spfa();

ll ans = 0

;

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

printf(

"%lld\n

", ans);

}return0;

}

HDU 2544 單源最短路

最短路 time limit 1000ms memory limit 65536k 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?輸入包括...

hdu2544 最短路 單源最短路徑

一 原題內容 problem description 在每年的校賽裡,所有進入決賽的同學都會獲得一件很漂亮的t shirt。但是每當我們的工作人員把上百件的衣服從商店運回到賽場的時候,卻是非常累的!所以現在他們想要尋找最短的從商店到賽場的路線,你可以幫助他們嗎?input 輸入包括多組資料。每組資料...

hdu 3790 單源最短路dijkstra)

題意 每條邊都有長度d 和花費p,給你起點s 終點t,要求輸出起點到終點的最短距離及其花費,如果最短距離有多條路線,則輸出花費最少的。解析 考察對dijkstra的理解。include include include include include include include include i...