開始時袋中有\(t\)種小球,第\(i\)種小球有\(t_i\)個,之後每次等概率取出乙個球,第\(i\)次取球時觀察這個球的顏色\(c_i\)放回並向袋中加入\(d\)個顏色為\(c_i\)的球;
給出一組詢問\([x_i,y_i](1\le i\le n)\),求同時滿足第\(x_i\)次取球的顏色為\(y_i\)的概率
\(1≤t,n≤1000, 1≤a_k ,d≤10, 1≤x_1
有沒有注意到\(1≤x_1這個條件?
感覺又鬼畜又沒有用對麼?
那麼我們把這個條件刪掉
其實這個條件僅僅是在給你乙個提示
其實我做題的時候也不知道這個條件有什麼用...於是我就沒有做出來
如果\(x_i=i\)你還不會做?直接模擬即可
所以這道題直接模擬就可以了。
!!!!!!是的很震驚對吧
給你\(1≤x_1這個條件,
就是讓你考慮怎麼把這個條件化成\(x_i=i\)的......
接下來我們開始證明,
如果僅僅考慮一次抽取的情況,每次抽到顏色\(c\)的概率都是一樣的,
即第\(i\)次抽到顏色\(c\)的概率和第\(i+1\)次抽到顏色\(c\)的概率相同
設第\(i\)次抽之前,袋子裡總共有\(tot\)個球,有\(a\)個顏色為\(c\)的球(update 4.4:感謝 @guessycb的更正 orz)
那麼第\(i\)次抽抽到\(c\)的概率顯然是\(p_i=\frac\)
那麼第\(i+1\)次抽抽到\(c\)的概率呢?
\[p_=\frac\times\frac+(1-\frac)\times\frac=\frac=p_i
\]嗯是的
於是直接把\([x_1,x_2,x_3,...,x_n]\)轉換為\([1,2,3,...,n]\)即可
注意高精(可以考慮先\(fact\),最後再化係數)
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#define mp make_pair
#define pb push_back
#define rg register
#define il inline
using namespace std;
typedef unsigned long long ull;
typedef vectorvi;
typedef long long ll;
typedef double dd;
const dd eps=1e-10;
const int mod=1e9+7;
const int n=5010;
const int m=20010;
il ll read()
il void file()
int t,n,d,a[n],y[n],sum;
int pri[m],vis[m];
il void sieve()
il void print()
}a[3];
il void solve()
a[1].init();a[2].init();
for(rg int id=1;id<=2;id++)
for(rg int i=1;i<=pri[0];i++)
for(rg int j=1;j<=sys[id][i];j++)a[id].times(pri[i]);
a[2].print();printf("/");a[1].print();puts("");
}int main()
noi2006神奇口袋
神奇的口袋,考數學甚於考演算法,考慮無自由取球情況,那麼,設a x,y 為第x次,取出顏色為y的球,p p因為首先分母是確定的,這毋庸置疑的,而分母取值只與在它之前取過多少同顏色球有關,與其他顏色球無關,所以可以進行此交換,現在回到可自由取球情況,舉個例子也就是p p,而k的取值從y1 yn所以後面...
NOI2006 神奇口袋
題目描述 神奇口袋 問題描述 p lya 獲得了乙個奇妙的口袋,上面寫著人類難以理解的符號。p lya 看得入了迷,冥思苦想,發現了乙個神奇的模型 被後人稱為 p lya 模型 為了生動 地講授這個神奇的模型,他帶著學生們做了乙個虛擬遊戲 遊戲開始時,袋中裝入 a1 個顏色為 1 的球,a2 個顏色...
NOI2006 最大獲利
description 新的技術正衝擊著手機通訊市場,對於各大運營商來說,這既是機遇,更是挑戰。thu集團旗下的cs t通訊公司在新一代通訊技術血戰的前夜,需要做太多的準備工作,僅就站址選擇一項,就需要完成前期市場研究 站址勘測 最優化等專案。在前期市場調查和站址勘測之後,公司得到了一共n個可以作為...