題目描述
這次的任務很簡單,給出了一張有
n 個點
m條邊的加權有向無環圖,接下來有q
個詢問,每個詢問包括2
個節點x
和y,要求算出從
x 到
y的一條路徑,使得密度最小(密度的定義為,路徑上邊的權值和除以邊的數量)。
輸入
第一行包括2
個整數n和
m 。以下m
行,每行三個數字a、
b、w ,表示從a
到b有一條權值為
w 的有向邊。
再下一行有乙個整數q
。以下q
行,每行乙個詢問x和
y ,如題意所訴。
輸出
對於每個詢問輸出一行,表示該詢問的最小密度路徑的密度(保留3
位小數),如果不存在這麼一條路徑輸出「o
mg!」
(不含引號)。
樣例輸入3
3 1 3
5
2 1
6 23
6 2
1
3 2
3 樣例輸出
5.000
5.500
提示對於
60%的資料,有1≤
n≤10
,1≤m
≤100
,1≤w≤
1000
,1≤q≤
1000
;對於100%
的資料,有1≤
n≤50
,1≤m
≤1000
,1≤w≤
100000
,1≤q≤
100000
。題解
有一句經典的話:如果狀態有後效性,就加一維使它沒有後效性。
看到上面那句話應該就可以懂怎麼做了……如果不懂,看下一句……
加一維表示經過的邊數,跑最短路……sp
fa,fl
oyd ,什麼什麼的隨便亂跑跑就好 f[
i][j
][k]
表示從i
到j 經過
k 條邊的最短路
**
#include
#include
#define n 55
#define for(i,a,b) for (int i=a;i<=b;i++)
int n,m,q,u,v,f[n][n][n],c[n][n],p;
inline
void floyd()
int main()
if (flag) printf("%.3lf\n",ans);
else
puts("omg!");
}}
NOIP2016模擬賽No 1 牛宮
題目描述a p 神牛準備給自己蓋一座很華麗的宮殿。於是,他看中了一塊n m 的矩形空地。空地中每個格仔都有自己的海拔高度。ap 想讓他的宮殿的平均海拔在海平面之上 假設海平面的高度是0 平均數都會算吧?而且,ap 希望他的宮殿盡量大,能夠容納更多的人來膜拜他。請問ap 的宮殿最後會有多大?輸入 第一...
NOIP2016複賽模擬賽 朋友
問題描述 mxy 即將前往新世界。在前往新世界的過程中,ta 遇見了兩種人。一種是只和lowb 做朋友,即當且僅當自己 的能力值大於對方時他們會成為朋友,另一種是大神我們做朋友,即當且僅當自己的能力 值小於對方時他們會成為朋友。現在告訴你兩種人的能力值。請你計算一共有多少對友好關係。輸入 每組測試資...
NOIP2016模擬 JackMa 貪心
問題描述 mr he 因討厭?手動和諧 而徹底放棄網購,他的日常用品都要到商場去購買,而且必須付現金。但是現 金購買,經常會遇到找零的問題,那麼現在請你幫助他解決這樣乙個問題 現在 mr he 手上有 n 種不同面值的硬幣,每種硬幣有無限多個。為了方便購物,他希望帶盡量 少的硬幣,但是要能組合出 1...