JZOJ A組 我想大聲告訴你

2021-09-10 04:57:31 字數 1331 閱讀 4618

因為小y 是知名的白富美,所以自然也有很多的追求者,這一天這些追求者打算進行一次遊戲來踢出一些人,小r 自然也參加了。

這個遊戲有n 個人參加,每一輪隨機選出乙個還沒有出局的人x,接著x 會出局。x 在出局之後剩下的人會受到一次攻擊,每乙個人在遭到攻擊之後會有p 的概率出局。(注意遭到攻擊出局的人是不能攻擊剩下的人的)

在所有人都出局之後,遭受攻擊次數等於特定值的人能夠成為勝者。所以現在小r 想要知道對於每乙個0 <= k < n,自己恰好在遭受k 次攻擊之後出局的概率是多少。(這裡的出局指的不是被攻擊出局)

注意在這題中,所有數值的運算在模258280327 的意義下進行。

第一行輸入乙個正整數t 表示資料組數。

對於每一組資料輸入僅一行三個數n, x, y,表示在這組資料中有n 個人參賽,p = x/y。保證y 和258280327 互質。

對於每組資料,輸出一行n 個整數,表示對於k = 0到n - 1 的概率在模258280327 意義下的值。

23 40 100

9 32 1049

172186885 92980918 16529941

229582513 163885050 39458156 102374877 116777758 216371874 55544199 95860736 8136787

對於60% 的資料,n <=100

對於100% 的資料,n <= 2* 10^3,1 <= t <= 5,0<= x < y <= 10^9

將這個遊戲轉換為乙個等價的遊戲:

有 n 個人按照編號排成一排,選 n 次,第 i 次選出來第 i 個人,如果這個人還沒有出局那麼他就出局然後攻擊所有人一次。

以只需要fi,j 表示當前選到第 i 個人,在選之前第 i 個人到第 n 個人受到了 j 次攻擊,很顯然轉移是o(1) 的。

最後累計一下答案就好了

#include

#include

#include

#define ll long long

using

namespace std;

const

int maxn=

2077

,mod=

258280327

;ll f[maxn]

[maxn]

,g[maxn]

;int t;

ll power

(ll x,ll c)

return b;

}int

main()

}for

(int j=

0; j)printf

("\n");

}}

JZOJ4212 我想大聲告訴你

因為小y 是知名的白富美,所以自然也有很多的追求者,這一天這些追求者打算進行一次遊戲來踢出一些人,小r 自然也參加了。這個遊戲有n 個人參加,每一輪隨機選出乙個還沒有出局的人x,接著x 會出局。x 在出局之後剩下的人會受到一次攻擊,每乙個人在遭到攻擊之後會有p 的概率出局。注意遭到攻擊出局的人是不能...

關於考研,我想告訴你這些

如果你是雙非普通院校本科生 如果你對目前的現狀不滿意,包括平台和環境 如果你想深造 如果你符合上述兩個條件以上,那麼我建議你去考研。當然如果你對目前的生活還算滿意,秋招也籤了份待遇不錯的工作,那麼我建議你把時間和精力應放在提公升自己的專業能力上 以下內容可以忽略不看 也可以多面幾家公司,積累些面試經...

如果你打算開始創業,我想告訴你的是

隨著我的創業經歷越來越豐富,有越來越多的人開始向我尋求創業的建議,比如 我該不該創業 我什麼時候創業比較好 等等。對於這些問題,我的答案隨著我經歷的變化而不斷變化。最開始,我會鼓勵人們勇敢的去創業,但現在,我絕對不會再這樣做了。我喜歡做乙個創業者。我深愛著我一手創辦起來的公司,雖然這其中付出了很多艱...