zoukankan      html  css  js  c++  java
  • 1101上午考试T4

    1101上午考试T4

    ​ 题目大意:

    ​ 有(n)轮比赛,最终成绩由这 n 轮比赛中赢的轮数决定。如果在第 i 轮比赛赛选择积极应战,并且前 i-1 轮比赛中取得了 j 胜的话,那么第 i 轮比赛的胜率概率为(p[i][j]),这里我们保证了对于同一个 i,(p[i][j]) 关于 j 的上升保持单调不上升(也就是说 (p[i][j] >= p[i][j+1]))。可以在某些轮比赛采取第二种策略,故意求败,也就是以 100% 的概率输掉该轮比赛,从而使之后的胜率可能更高, 现在已知看到了整个 p 数组,求一个最优的策略,使得期望赢的轮数最大。

    ​ 期望概率DP.

    ​ 期望DP不好搞,其实可以用概率DP来写.

    ​ 最优情况下(f[i][j])表示前(i)轮赢了(j)轮的概率是多少,转移方程就是:(f[i][j] = f[i - 1][j - 1] * p[i][j - 1] + f[i - 1][j] * (1 - p[i][j])).

    ​ 然后统计答案就是:(f[n][j] * j).

    ​ 至于为啥没有考虑第二种策略就是最优的....我也不知道

    11.5更新:
    好了现在我知道为啥没有第二种策略是最优的, 先设几个东西, (p1)表示p[1][0], (p2)表示p[2][0], (p3)表示p[2][1].
    我们强制使用策略二, 可以获胜的轮数的期望是 : (p2 * 1 = p2);
    我们不强制使用策略二, 可以获胜的轮数的期望是 : (p1 * p3 * 2 + (1 - p1) * p2 * 1 + p1 * (1 - p3) * 1 = p1 * p3 + p1 + p2 - p1 * p2 = p1 * p3 + p2 + p1(1 - p2));
    然后我们让两个式子都减去(p2), 那么一式变成了0, 二式变成了(p1 * p3 + p1 * (1 - p2)),显然二式大于零.
    然后类比到多个应该也是一样的, 所以不使用策略二肯定更优.
    这道题当然也可以用期望DP来写:

    (f[i][j]) 表示已经赢了(j)场, 从(i + 1)(n) 的期望赢得场数, 可以得到DP转移方程:
    (f[i][j] = max(f[i + 1][j], (f[i + 1][j + 1] + 1) * p[i][j] + f[i + 1][j] * (1 - p[i][j]));
    前半部分表示使用策略二, 后半部分表示第(i)场赢 + 第(i)场输.
    这个是概率DP的方程:

    #include <bits/stdc++.h>
    
    using namespace std;
    
    const int N = 1005;
    int n;
    double ans, p[N][N], f[N][N];
    
    int main() {
    
    	cin >> n;
    	for(int i = 1;i <= n; i++) 
    		for(int j = 0;j < i; j++) cin >> p[i][j];
    	f[0][0] = 1;
    	for(int i = 1;i <= n; i++) f[i][0] = f[i - 1][0] * (1 - p[i][0]);
    	for(int i = 1;i <= n; i++)
    		for(int j = 1;j <= n; j++)
    			f[i][j] = f[i - 1][j - 1] * p[i][j - 1] + f[i - 1][j] * (1 - p[i][j]);
    	for(int i = 1;i <= n; i++) ans += f[n][i] * i;  
    	printf("%.2lf", ans);
    
    	return 0;
    }
    

    概率一般正着求, 期望一般倒着求.

  • 相关阅读:
    系统相对路径和绝对路径
    delphi TreeView 鼠标右击选择节点
    treeview得到鼠标右键点击的节点
    TREEVIEW右键菜单示例
    ORACLE
    监视oracle执行的SQL语句
    oracle数据库跟踪工具
    PL/SQL plsql Developer 14最新版注册码 (亲测可用)
    一个框架看懂优化算法之异同 SGD/AdaGrad/Adam
    Node.jsp配环境更新中)
  • 原文地址:https://www.cnblogs.com/czhui666/p/13912576.html
Copyright © 2011-2022 走看看