Jon and Orbs
题目
样例
思路
第i天出现j个orb的可能=第i-1天出现j种orb的可能*j种已有orb+第i-1天出现j-1种orb的可能 *未出现orb种类数。
代码
#include<iostream>
using namespace std;
long long num[1005];
double dp[10005][1005];//i天出现j种orb
int k,q;
int main()
{
scanf("%d %d",&k,&q);
dp[0][0]=1.0;
int p=1;
for(int i=1;p<=1000;i++)
{
for(int j=1;j<=k;j++)
dp[i][j]=(dp[i-1][j]*j+dp[i-1][j-1]*(k-j+1))/k;
while(p<=1000&&dp[i][k]*2000>p)
num[p++]=i;
}
for(int i=0;i<q;i++)
{
int n;
scanf("%d",&n);
printf("%ld\n",num[n]);
}
return 0;
}