NOIP模擬賽19 8 26 死宅與陷阱

2021-09-26 13:21:22 字數 917 閱讀 2865

考場想用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 ...