• luogu P2059 [JLOI2013] 卡牌游戏


    传送门

    GG给的题目系列 (好像是唯一一道题)

    总体来讲dp其实就是(NOIP)

    线性 状压 树上 数位 期望 

    完了想好矩阵优化和单调队列就稳了

    剩下的就积极地想状态 理清思路

    最关键的就是最优子结构和无后效性 然后就可以合理

    (假装自己做完了dp总结)

    这个题就是直接堆概率

    f[i][j]表示i个人从庄家数第j个胜率(庄家算1)

    枚举m个牌判断出局的人更新就好了

    注意特判==的情况= =

    time cost:35min

    Code:

     1 #include<cstdio>
     2 #include<cstring>
     3 #include<algorithm>
     4 #include<queue>
     5 #define ms(a,b) memset(a,b,sizeof a)
     6 #define rep(i,a,n) for(int i = a;i <= n;i++)
     7 #define per(i,n,a) for(int i = n;i >= a;i--)
     8 #define inf 1000000007
     9 using namespace std;
    10 typedef long long ll;
    11 typedef double D;
    12 #define eps 1e-2
    13 ll read() {
    14     ll as = 0,fu = 1;
    15     char c = getchar();
    16     while(c < '0' || c > '9') {
    17         if(c == '-') fu = -1;
    18         c = getchar();
    19     }
    20     while(c >= '0' && c <= '9') {
    21         as = as * 10 + c - '0';
    22         c = getchar();
    23     }
    24     return as * fu;
    25 }
    26 //head
    27 const int N = 55;
    28 int n,m;
    29 int a[N];
    30 D dp[N][N];
    31 
    32 int main() {
    33     n = read(),m = read();
    34     rep(i,1,m) a[i] = read();
    35     ms(dp,0);
    36     dp[1][1] = 1.00;
    37     rep(i,2,n) rep(j,1,i) rep(k,1,m) {
    38         int c = ((a[k] % i) ? (a[k] % i) : i);
    39         if(c > j) c = i - c + j;
    40         else if(c < j) c = j - c;
    41         else c = 0;
    42         dp[i][j] += dp[i-1][c] / (D)m;
    43     }
    44     rep(i,1,n) printf("%.2lf%% ",dp[n][i] * 100.00);
    45     puts("");
    46     return 0;
    47 }
    View Code
    > 别忘了 总有人在等着你
  • 相关阅读:
    百度编辑器 Ueditor使用记录
    JS实现继承的几种方式
    IOS 浏览器上设置overflow: auto 不可滚动
    throw new Error('Cyclic dependency' + nodeRep)
    如何理解springaop
    SQL连接的分类
    Eclipse创建Maven-Web项目及解决 jre版本和web.xml版本问题
    SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
    Centos7下面安装eclipse
    Centos7 下编译 Openjdk8
  • 原文地址:https://www.cnblogs.com/yuyanjiaB/p/9893469.html
Copyright © 2020-2023  润新知