2019ccpc哈尔滨站K题(数学期望) Gym - 102394K Keeping Rabbits

题目大意:

现在有 n n 个兔子抢胡萝卜, n n 个兔子初始质量分别为 w i w_i ,每次会有一个兔子胜出,然后它只一个萝卜质量 w + 1 w+1 ,每回合第 i i 个兔子生出的概率为: w i j = 1 n w j \frac {w_i} {\sum_{j=1}^{n}w_j} 现在问 k k 天之后,兔子们体重的期望。

分析:

考虑 k k 天增长的体重总量为 k k ,所以第 i i 只兔子的体重期望为: w i + k w i j = 1 n w j w_i + k*\frac {w_i} {\sum_{j=1}^{n}w_j}

#include <iostream>
using namespace std;
const int maxn = 1000052;
long long int w[maxn], sum;
int main() {
	int n, k, T;
	cin >> T;
	while (T--) {
		cin >> n >> k;
		sum = 0;
		for (int i = 0; i < n; i++) {
			scanf("%lld", &w[i]);
			sum += w[i];
		}
		for (int i = 0; i < n; i++) {
			if (i != 0) {
				printf(" ");
			}
			printf("%lf", w[i] + w[i] * k * 1.0 / sum);
		}
		printf("\n");
	}
	return 0;
}
发布了227 篇原创文章 · 获赞 142 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/qq_36306833/article/details/103063203