首页 > 其他分享 >CF1267G Game Relics

CF1267G Game Relics

时间:2022-10-13 20:00:48浏览次数:66  
标签:期望 int db CF1267G Game const Relics using define

题面传送门

首先一个直觉肯定是先抽后买,因为越后抽的期望收益越小,因此将一个抽卡和一个买交换一定不优。

然后另一个直觉是如果一次抽没有抽到,那么接下来一定接着抽。因为抽卡的期望收益不变,期望代价也不变,接着抽一定是赚的。因此我们可以得出在已经有\(i\)个物品时抽卡直到抽到一个物品的期望代价:\(\frac{x}{2}+\frac{x}{2}\times \frac{n}{n-i}\)。

我们将这样子得到下一个物品称为一步,则这一步要么这样抽,要么购买剩下的其中一个,可以取其期望代价来算。然后做个背包求出每一处的概率即可。

时间复杂度\(O(n^2\sum c)\)

code:

#include<bits/stdc++.h>
#define Gc() getchar() 
#define Me(x,y) memset(x,y,sizeof(x))
#define Mc(x,y) memcpy(x,y,sizeof(x))
#define d(x,y) ((m)*(x-1)+(y))
#define R(n) (rnd()%(n)+1)
#define Pc(x) putchar(x)
#define LB lower_bound
#define UB upper_bound
#define PB push_back
using ll=long long;using db=double;using lb=long db;using ui=unsigned;using ull=unsigned ll;
using namespace std;const int N=1e2+5,M=1e4+5,K=2e3+5,mod=1e9+7,Mod=mod-1;const db eps=1e-5;const int INF=1e9+7;
int n,m,k,y,z,C[N],Fl[N][M];db dp[N][M],x,g[N],Ans,ToT,P[N][N];
int main(){
	freopen("1.in","r",stdin);
	int i,j,h;scanf("%d%lf",&n,&x);x/=2.0;for(i=1;i<=n;i++) scanf("%d",&C[i]),m+=C[i];for(i=0;i<=n;i++) for(P[i][0]=j=1;j<=n;j++) P[i][j]=P[i-1][j]+P[i-1][j-1];
	dp[0][0]=1;for(i=1;i<=n;i++) for(j=n;j;j--) for(h=C[i];h<=m;h++) dp[j][h]+=dp[j-1][h-C[i]];
	for(i=0;i<n;i++) for(j=0;j<=m;j++) Ans+=dp[i][j]/P[n][i]*min((m-j)*1.0/(n-i),x+x/(1-i*1.0/n));printf("%.9lf\n",Ans);
} 

标签:期望,int,db,CF1267G,Game,const,Relics,using,define
From: https://www.cnblogs.com/275307894a/p/16789467.html

相关文章

  • 【UE4】GameplayTag的妙用(ActorTag)
    我不会抛下这个残破的世界在现代游戏引擎中,有一个“Tag”的概念,无论是在Unreal还是Unity中,他们都有大同小异的tag实现。此篇随笔以ActorTag举例,简单讲解一些常见情况......
  • NFT(GameFi)链游系统开发详解方案
    什么是GameFi经济Specifically,thisincludesthefivetechnical)supportforcesofthemetauniverse,namely,thecommunicationfoundation"5g"ofthemetauniver......
  • Codeforces Round #570 (Div. 3) C. Computer Game(二分)
    https://codeforces.com/contest/1183/problem/C题目大意:给定k的总时间,必须玩n局,每一局正常消耗a时间,插电玩消耗b时间问我们在能>0的剩余时间内玩完这n局下的可以最大......
  • 【Pygame实战】超有趣的泡泡游戏来袭——愿你童心不泯,永远快乐简单哦~
    导语......
  • 1738C-Even Number Addicts - dp, games, greedy
      voidsolve(){intn;cin>>n;intodd=0,even=0;for(inti=0;i<n;i++){inta;cin>>a;if(a&1)odd++;elseeven+......
  • POJ - 2348 Euclid's Game
    Euclid'sGame博弈很经典的博弈了首先明确每个状态必然都对应着一个局面,先手必败\(or\)先手必胜如果当前局面对于先手来说是能够选择的,也就是\(b>=a*2\),对于一......
  • CF1739 C. Card Game
    题目链接题意简述有这样一个游戏,有一摞编号为\(1\simn\)的卡片(保证\(n\)为偶数),编号大的卡片比编号小的卡片更"强".两名玩家玩这个游戏,他们平均分这\(n\)......
  • CodeForces 1527E Partition Game
    洛谷传送门CF传送门考虑朴素dp:设\(f_{i,j}\)表示分了\(j\)段且第\(j\)段的末尾是\(i\)的最小花费。有转移:\(f_{i,j}\gets\min\limits_{k=0}^{i-1}f_{k,j-1......
  • python pygame 迷宫生成
    importrandomimportsysimportpygame#使用pygame之前必须初始化pygame.init()#参数设置box_w,box_h=5,5#盒子宽高window_w,window_h=400,400x,y=0,0#盒......
  • python pygame 生命的游戏
    importsysimportpygameimportrandom#参数设置box_w,box_h=10,10#盒子宽高window_w,window_h=400,400x,y=0,0#使用pygame之前必须初始化pygame.init()#设......