考場想用dijkstra求最短路得方法算出最大概率,但是錯了:因為如果有兩條路可以到達該點,那麼到達這個點的概率應該是走這兩條路的概率之和,而不是選擇概率大的一條路。所以t1只有5分qwq
直接暴力dfs算概率,最後把概率排序增加陷阱
#include
using namespace std;
#define n 100005
#define db double
int n,m,p,s,t,tot;
int v[n]
,head[n]
,to[n]
,next[n]
,du[n]
;db val[n]
,d[n]
,ans;
bool vis[n]
;inline
intread()
inline
void
add(
int x,
int y,db z)
inline
void
dfs(
int x,db last)
}int
main()
dfs(s,1)
;sort
(d+1
,d+1
+n);
for(
int i=n; i>=n-t+
1; i--
) ans +
=(d[i]
*p);
printf
("%.3lf"
,ans)
;
NOIP模擬賽 死宅與陷阱
題解 這是一道很簡單的dfs,只需要從s把圖跑一遍算出,每個點的到達概率。把他們存入乙個陣列,然後從大到小sort一遍,顯然概率越大的權值越應該加p,然後就把每個點的概率 權值就ok了。include define m 1000000009 using namespace std int head ...
noip模擬賽 密碼
表示沒看懂演算法3 問題描述 有壓迫,就有反抗。mored的寵物在法庭的幫助下終於反抗了。作為乙隻聰明的寵物,他打算把魔法使mored的魔法書盜去,奪取mored的魔法能力。但mored怎麼會讓自己的魔法書輕易地被盜取?mored在魔法書上設定了乙個密碼鎖,密碼鎖上有乙個問題。施以斯臥鋪魔法吧,你有...
NOIP模擬賽 老師
題目描述 一座有n層的教學樓裡有一些學生,第i 0 i n 層有studentsi個學生。你被給定了乙個數k,如果第i層有x個學生,那麼這一層需要 x k 個老師。你可以調整每個學生的樓層,但是每個學生至多只能調整一層,就是說第i層的學生只能去第i 1層 如果有的話 第i層 第i 1層 如果i 1 ...