zoukankan      html  css  js  c++  java
  • Codeforces Round #204 (Div. 1) B. Jeff and Furik 概率DP

    链接:

    http://codeforces.com/contest/351/problem/B

    题意:

    给你一个序列,A和B两个玩家,A先走

    A每次交换一个相邻的逆序对,B每次有50%几率交换相邻逆序对,还有50%几率交换相邻正序对

    问最后a有序 交换次数的期望

    题解:

    先求出a有多少个逆序对,这个直接n方就行

    然后就是dp[i]=1+1+dp[i2]0.5+dp[i1+1]]0.5   化简得dp[i] = 4 + dp[i-2]

    代码:

    31 int a[MAXN];
    32 
    33 int main() {
    34     int n;
    35     cin >> n;
    36     rep(i, 0, n) cin >> a[i];
    37     int s = 0;
    38     rep(i, 0, n) rep(j, i + 1, n) if (a[i] > a[j]) s++;
    39     double ans = s & 1 ? s / 2 * 4 + 1 : s * 2;
    40     printf("%.6f
    ", ans);
    41     return 0;
    42 }
  • 相关阅读:
    听说-- 迭代
    听说
    听说---时序图
    闪屏
    WBS
    听说
    Agile Development ----敏捷开发
    软件测试
    需求分析:WBS图
    2048小游戏
  • 原文地址:https://www.cnblogs.com/baocong/p/7306163.html
Copyright © 2011-2022 走看看