程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> BZOJ 2134 單選錯位 期望DP

BZOJ 2134 單選錯位 期望DP

編輯:關於C++

題目大意:給定一張n道選擇題的試卷,所有答案都是正確的,但是第i個題的答案被答到了第i%n+1個位置上,求期望得分

第i道題的答案被填到了第i%n+1個位置上 期望得分是1/max(a[x],a[i%n+1])

然後就水了233

#include 
#include 
#include 
#define M 10001000 
#include 
using namespace std;
int n,A,B,C;
int a[M];
double ans;
int main()
{
	int i;
	scanf("%d%d%d%d%d",&n,&A,&B,&C,a+1);
	for(i=2;i<=n;i++)
		a[i]=((long long)a[i-1]*A+B)%100000001;
	for (int i=1;i<=n;i++)
		a[i]=a[i]%C+1;
	for(i=1;i<=n;i++)
		ans+=1.0/max(a[i],a[i%n+1]);
	printf("%.3lf\n",ans);
	return 0;
}


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved