P2719 搞笑世界杯 (期望dp

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
using VI = vector<int>;

double dp[2000][2000];
int n;
//求dp[2][0]
//dp[0][2]
//期望dp要从终末态,向起始态转移
//dp[a][b] - > dp[a][b-1]  or dp[a-1][b]
//dp[a][b] = 1/2 * dp[a][b+1] + 1/2 * dp[a+1][b]
int main(){
    cin>>n;
    n/=2;
    dp[n][n] = 1;
    for(int i = n ; i >= 1 ; i--){
        for(int j = n ; j >= 1 ; j--){
            dp[i][j-1] += dp[i][j] / 2.0;
            dp[i-1][j] += dp[i][j] / 2.0;
        }
    }
    double res  = 0;

    for(int i = 2; i <= n ; i++){
        res += dp[i][0] + dp[0][i];
    }  
    printf("%.4f" , res);


}

考虑一种票全部卖完,另一种有大于等于2 张的所有情况都为合理情况

dp[i][j] 可以 等概率的转移到 dp[i-1][j] 和 dp[j][i-1]

相关推荐
迷途之人不知返1 分钟前
List的学习
数据结构·c++·学习·list
6Hzlia2 分钟前
【Hot 100 刷题计划】 LeetCode 23. 合并 K 个升序链表 | C++ 顺序合并
c++·leetcode·链表
今夕资源网5 分钟前
Visual C++运行库合集 V104.0 一个github免费开源的项目VisualCppRedist AIO
开发语言·c++·dll修复工具·dll修复·运行库·修复软件
syagain_zsx6 分钟前
剖析“继承”,清晰易懂
开发语言·c++
数据牧羊人的成长笔记8 分钟前
SVM与朴素贝叶斯算法+Kaggle竞赛+智能推荐系统+关联规则分析与Apriori算法+Gensim与LDA主题模型
算法·机器学习·支持向量机
Season45010 分钟前
C++中论在类中成员变量定义顺序的重要性
开发语言·c++
拳里剑气12 分钟前
C++算法:前缀和
开发语言·c++·算法·前缀和
隔壁大炮19 分钟前
Day07-词嵌入层解释
人工智能·深度学习·算法·计算机视觉·cnn
啊我不会诶21 分钟前
Codeforces Round 1091 (Div. 2) and CodeCraft 26
c++·算法
H Journey23 分钟前
常用知识总结C++、CMake、Linux
linux·c++·opencv·cmake