problem f: 地鐵
time limit: 5 sec memory limit: 128 mb
submit: 84 solved: 8
[submit][status][web board]
description
bobo 居住在大城市 icpccamp。
icpccamp 有 n 個地鐵站,用 1,2,…,n 編號。 m 段雙向的地鐵線路連線 n 個地鐵站,其中第 i 段地鐵屬於 ci 號線,位於站 ai,bi 之間,往返均需要花費 ti 分鐘(即從 ai 到 bi 需要 ti 分鐘,從 bi 到 ai 也需要 ti 分鐘)。
眾所周知,換乘線路很麻煩。如果乘坐第 i 段地鐵來到地鐵站 s,又乘坐第 j 段地鐵離開地鐵站 s,那麼需要額外花費 |ci-cj | 分鐘。注意,換乘只能在地鐵站內進行。
bobo 想知道從地鐵站 1 到地鐵站 n 所需要花費的最小時間。
input
輸入包含不超過 20 組資料。
每組資料的第一行包含兩個整數 n,m (2≤n≤105,1≤m≤105).
接下來 m 行的第 i 行包含四個整數 ai,bi,ci,ti (1≤ai,bi,ci≤n,1≤ti≤109).
保證存在從地鐵站 1 到 n 的地鐵線路(不一定直達)。
output
對於每組資料,輸出乙個整數表示要求的值。
sample input
3 3
1 2 1 1
2 3 2 1
1 3 1 1
3 3
1 2 1 1
2 3 2 1
1 3 1 10
3 2
1 2 1 1
2 3 1 1
sample output
1 3
2/*
題目:地鐵
題意:給出乙個無向圖g,頂點1~n,m條邊,每條邊有乙個cost和乙個value,從一條邊到另外一條邊(假設i->j)
要外加abs(i,j)的耗費,問從頂點1->n 最小耗費.
思路:顯然這道題與普通最短路的區別在與換路的耗費,如果用普通最短路做法更新頂點的最短距離的話,
會丟失那些到達某個頂點不是最優解但經過換路後可以成為最優解的情況.
但是換個思路,如果我們每次更新的不是到達頂點的最短路而是到達某條邊的最短路的話(也就是確定
了接下來只能走那條邊),就變成普通的最短路了,這樣可以用各種nlogn的演算法解決;詳見**:
*/
#include
#include
#include
#include
#include
#include
using
namespace
std;
struct edge
};int
const maxn=1e5+100;
typedef
long
long ll;
const ll inf=1e14;
vector
g[maxn];
ll dis[maxn<<1];
int n,m;
struct node
bool
operator
<(const node& a)const
};priority_queueque;
void init()
for (int i=1;i<=m*2;i++)
while (!que.empty()) que.pop();
}ll dijkstra()
ll mi=inf;
while (!que.empty())}}
return mi;
}int main()
cout
0;}
湖南省2017省賽A題
題目大意,給你n個數,要求你給出任意乙個排列,要求乙個數與左右的數的差值的絕對值大小大於d。直接遞推,設第乙個數為a,則第二個數顯然最大為n,那麼可以推出a n d 1,第三個數為a 1,第四個數為a d。以此可遞推出第i個數大小為,分奇偶性,i為奇數時,其為a i 1 2,偶數時,a d i 4 ...
2018湖南省賽總結
2018湖南省賽總結 省賽銅牌,有點可惜,被乙個打表題卡了三個小時。其實這題完全可以早點出的。寫一下省賽比賽的心路歷程吧。這個對以後的比賽有用。9點比賽,8.55發的題面。發完題面之後,立馬發現a題是簽到題,立馬丟給zqg寫,很快一發a了a題,之後的題都沒有那麼明顯的簽到,讀完b題之後,和隊友說題意...
湖南省第七屆省賽 打怪公升級
1105 打怪公升級 time limit 1 sec memory limit 64 mb submit 181 solved 62 submit status web board description 對於多數rpg遊戲來說,除了劇情就是打怪公升級。本題的任務是用最短的時間取得所有戰鬥的勝利。...