首先不難看出這是最短路
然後乙個起點,兩個終點。
從起點跑一遍dij,比較到兩個終點的距離,選小的那個,再以其中乙個終點為起點,跑dij,ans加上到另乙個終點的距離,就是最終結果。
#include#include#include
#include
using
namespace
std;
struct
nodee[
400010
];struct
edge
};priority_queue
dij;
int head[100001],in[100001],d[100001
];int
cnt;
intn,m,s1,s2,s3;
inline
intread()
while(ch>='
0'&&ch<='9')
return s*w;
}inline
void add(int
from,int to,int
dis);
head[
from]=cnt;
}inline
void di(int
s));
d[s]=0
;
while(!dij.empty()));
} }}
}int
main()
di(s1);
int ans=min(d[s2],d[s3]);
di(s2);
ans+=d[s3];
printf("%d
",ans);
return0;
}
P2921 USACO08DEC 在農場萬聖節
一道不錯的記搜題。由於每乙個人點的出度只能是1,所以我們不難發現 每一條在環上的邊只能屬於一條環。換句話說 任何一條邊頂多屬於乙個環。這樣我們就可以用簡單的記搜來實現。設具體的實現細節見 include includeusing namespace std const int maxn 100020...
P2921 USACO08DEC 在農場萬聖節
每年萬聖節,威斯康星的奶牛們都要打扮一番,出門在農場的n個牛棚裡轉 悠,來採集糖果.她們每走到乙個未曾經過的牛棚,就會採集這個棚裡的1顆糖果.農場不大,所以約翰要想盡法子讓奶牛們得到快樂.他給每乙個牛棚設定了乙個 後繼牛 棚 牛棚i的後繼牛棚是next i 他告訴奶牛們,她們到了乙個牛棚之後,只要再...
P2983 USACO10FEB 購買巧克力
題解 注意題目開 long long 貪心策略 從低到高,買夠為止 反證 若剩下的有乙個k 比k小,那麼交換,穩賺不賠 所以,在買k之前,所有比他便宜的都買完了 include include include include include include include include using...