poj3682 King Arthur's Birthday Celebration
왕 은 생일 을 축하 하고 i 일 에 2i - 1 (천) 개의 동전 을 썼 습 니 다. 어느 날 이 끝 날 지 에 대해 정수 k 를 정 하고 매일 한 번 동전 을 던 졌 습 니 다. 만약 에 k 번 째 정면 이 위로 향 하면 축 하 를 끝 냅 니 다. 정면 이 위로 향 할 확률 은 p 입 니 다.
축하 일수 와 비용 이 드 는 금화 에 대한 기 대 를 묻는다.
생각:
순 확률 문제,
f [i] 를 i 일 째 끝 날 확률 로 설정 하면 f [i] = c (i - 1, k - 1) * p ^ k * (1 - p) ^ (i - k) 이지 만 총 확률 은 > f [i] = 1 이 고 그 중에서 i * 8712 ° [k, + 표시) 이 며 아래 는 모두 이 범위 이다.
즉, p ^ k * ∑ (c (i - 1, k - 1) * (1 - p) ^ (i - k) = 1, 즉: ∑ (c (i - 1, k - 1) * (1 - p) ^ (i - k) = 1 / (p ^ k), 이 등식 아래 에 유용 하 다
그렇다면 일수 의 기대:
days
=∑(i*f[i])
=p^k*∑(i*c(i-1,k-1)*(1-p)^(i-k))
=k*p^k*∑(c(i,k)*(1-p)^(i-k))
=k*p^k/p^(k+1)
=k/p
소비 하 는 기대:
cost = ∑ (i * i * f [i]) / / i 일이 끝나 면 1 + 3 + 5 +... + 2 i - 1 = i * i 를 쓴다.
=p^k*∑(i*i*c(i-1,k-1)*(1-p)^(i-k))
=k*p^k*∑(i*c(i,k)*(1-p)^(i-k))
=k*p^k*∑((i+1)*c(i,k)*(1-p)^(i-k))-p^k*∑(c(i,k)*(1-p)^(1-k))
=k*(k+1)*p^k*∑(c(i+1,k+1)*(1-p)^(i-k))-days
=k*(k+1)*p^k/(p^(k+2))-days
=k*(k+1)/p^2-days
=days*(k+1)/p-days
#include <iostream>
#include <cmath>
#include <stdio.h>
#include <map>
#include <algorithm>
using namespace std;
#define LL long long
#define MAX 1000010
int main()
{
int n,k;
double p;
while (scanf("%d",&k),k)
{
scanf("%lf",&p);
double ans=k/p;
printf("%.3lf %.3lf
",ans,ans*(k+1)/p-ans);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.