zoukankan      html  css  js  c++  java
  • hdu--3853--概率dp

    首先 ....

    让我说一句...  F M L 

    这几天被概率 区间dp折磨地死去活来  都太TM要智商了 太伤了啊。。。

    烦的一比..

    /////////////////////////////

    这题 真心算我这几天遇到的最简单的了...

    dp[ i ][ j ] =  p[ i ][ j ][ 0 ] * ( dp[ i ][ j ] + 2 ) + p[ i ][ j ][ 1 ] * ( dp[ i ][ j+1 ] +2 ) + p[ i ][ j ][ 2 ] * ( dp[ i+1 ][ j ] + 2 )

    p[ i ][ j ][ 0 ] + p[ i ][ j ][ 1 ] + p[ i ][ j ][ 2 ] = 1

    that's all

    //吐槽下hdu的G++   对于cin.sync_with_stdio(false)好像没起作用一样的  我tle ..改scanf printf就能ac 

     1 #include <iostream>
     2 #include <cstring>
     3 using namespace std;
     4 
     5 int n , m;
     6 const int size = 1010;
     7 double p[size][size][3];
     8 double dp[size][size];
     9 
    10 void solve( )
    11 {
    12     for( int i = n ; i>=1 ; i-- )
    13     {
    14         for( int j = m ; j>=1 ; j-- )
    15         {
    16             if( p[i][j][0]==1 )
    17                 continue;
    18             dp[i][j] = ( p[i][j][1] * dp[i][j+1] + p[i][j][2] * dp[i+1][j] + 2 ) / ( 1-p[i][j][0] );
    19         }
    20     }
    21 }
    22 
    23 int main()
    24 {
    25     while( ~scanf("%d %d",&n,&m) )
    26     {
    27         memset( dp , 0 , sizeof(dp) );
    28         for( int i = 1 ; i<=n ; i++ )
    29         {
    30             for( int j = 1 ; j<=m ; j++ )
    31             {
    32                 scanf("%lf %lf %lf",&p[i][j][0],&p[i][j][1],&p[i][j][2] );
    33             }
    34         }
    35         solve( );
    36         printf("%.3lf
    ",dp[1][1] );
    37     }
    38     return 0;
    39 }
    View Code

    today:

      越是无心 越是会有好结果?

      越是有心 越是没有好结果?

      其实不是 只是期望值不同罢了

  • 相关阅读:
    Commonjs规范 浏览器运行
    node Commonjs规范
    Node 支持ES6 modules
    node only 对象属性白名单
    babel 关键配置
    Linux测试硬盘读性能的常用工具-hdparm
    linux下/etc/profile、/etc/bashrc、~/.bashrc 和~/.bash_profile文件的区别
    storcli64和smartctl定位硬盘的故障信息
    数据库迁移的几种方式
    linux中截取字段与#、$区别
  • 原文地址:https://www.cnblogs.com/radical/p/4112878.html
Copyright © 2011-2022 走看看