[noip2013t3]貨車運輸
背景noip2013day1
描述a 國有 n 座城市,編號從 1 到 n,城市之間有 m 條雙向道路。每一條道路對車輛都有重
量限制,簡稱限重。現在有 q 輛貨車在運輸貨物, 司機們想知道每輛車在不超過車輛限重的
情況下,最多能運多重的貨物。
輸入格式
輸入檔案第一行有兩個用乙個空格隔開的整數 n, m, 表示 a 國有 n 座城市和 m 條道
路。 接下來 m 行每行 3 個整數 x、 y、 z,每兩個整數之間用乙個空格隔開,表示從 x 號城市
到 y 號城市有一條限重為 z 的道路。注意: x 不等於 y,兩座城市之間可能有多條道路。
接下來一行有乙個整數 q,表示有 q 輛貨車需要運貨。
接下來 q 行,每行兩個整數 x、 y,之間用乙個空格隔開,表示一輛貨車需要從 x 城市
運輸貨物到 y 城市,注意: x 不等於 y。
輸出格式
輸出共有 q 行,每行乙個整數,表示對於每一輛貨車,它的最大載重是多少。如果貨
車不能到達目的地,輸出-1。
測試樣例1
輸入4 3
1 2 4
2 3 3
3 1 1
3 1 3
1 4
1 3
輸出3
-1
3 備註
對於 30%的資料, 0 < n< 1,000, 0 < m< 10,000, 0 < q< 1,000;
對於 60%的資料, 0 < n< 1,000, 0 < m< 50,000, 0 < q< 1,000;
對於 100%的資料, 0 < n< 1,000, 0 < m< 50,000, 0 < q< 30,000,0 ≤ z ≤ 100,000。
隊長說 也可以用樹鏈剖分寫….(可是並不會(。・・)ノ)
NOIP2013 D1T3 貨車運輸 zz恥辱記
目錄先來證明下lemma 圖上2點間最小邊權最大的路徑一定在mst上 感性理解下 每次kruskal algo都連線最大的不成環邊 此時有2個未聯通的聯通塊被連起來.那麼考慮u,v兩點的聯通塊 它們並起來時選的邊最大.將比這條邊大的邊加入生成樹不能使得u,v聯通 這個思想是kruskal重構樹的基礎...
NOIP2013 D1 T2火柴排隊
涵涵有兩盒火柴,每盒裝有 n 根火柴,每根火柴都有乙個高度。現在將每盒中的火柴各自排成一列,同一列火柴的高度互不相同,兩列火柴之間的距離定義為 ai bi 2 其中 ai 表示第一列火柴中第 i 個火柴的高度,bi 表示第二列火柴中第 i 個火柴的高度。每列火柴中相鄰兩根火柴的位置都可以交換,請你通...
noip2013 d1t2 火柴排隊
看不出是逆序對.感覺藥丸 首先要看出最優解就是兩個陣列均有序的時候 再對兩個陣列的下標求逆序對即可 歸併 樹狀陣列 1 include2 include3 include4 include5 include6 define modd 99999997 7using namespace std 8co...