• bzoj1867钉子和小球


    题目链接

    简单$DP$

    $$dp[1][1]=1( ext{显然})$$

    $$map[i][j]=='*'?dp[i+1][j]+=dp[i][j]/2,dp[i+1][j+1]+=dp[i][j]/2:dp[i+2][j+1]+=dp[i][j]$$

    如果直接输出概率这样就好,

    但是让写成分数咋整?

    开个结构体记录分子分母可以(好像大部分人这么做的)

    本宝宝一开始开了两个数组分别记录,

    但是人  萌  可爱 会出现各种  正义  玄学的事情,

    反正开结构体的计算过程中没有爆$long long$

    本宝宝就爆了。

    写了两遍都被自己拍地上了

    最后只好换种方法,

    我们先假设分子分母同时乘以$2^{n}$

    然后计算的时候分子除就好,最后同时约分

    然后就$RE$了$qwq$

    为啥?!

    某几位良心同学:“此题并不能输出文件末回车,会$RE$”

    莫名想吐槽$bzoj=reoj$

    上代码:

    /**************************************************************
        Problem: 1867
        User: zhangheran
        Language: C++
        Result: Accepted
        Time:12 ms
        Memory:1316 kb
    ****************************************************************/
     
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    #include<cstring>
    using namespace std;
    long long f[57][57];
    char map[57][57];
    int n,m;
    template<typename _Element_gcd>
      _Element_gcd
        _gcd(_Element_gcd _m, _Element_gcd _n)
        {
            while (_n != 0)
            {
              _Element_gcd _t = _m % _n;
              _m = _n;
              _n = _t;
            }
          return _m;
        }
    int main()
    {
        scanf("%d%d",&n,&m);
        for(int i=1;i<=n;i++)
          for(int j=1;j<=i;j++)
            while(map[i][j]!='*'&&map[i][j]!='.') scanf("%c",&map[i][j]);
        f[1][1]=1ll<<n;
        for(int i=1;i<=n;i++)
          for(int j=1;j<=n;j++)
            if(map[i][j]=='*')
                f[i+1][j]+=f[i][j]/2,
                f[i+1][j+1]+=f[i][j]/2;
            else f[i+2][j+1]+=f[i][j];
        long long dp=1ll<<n;
        long long num=_gcd(f[n+1][m+1],dp);
        f[n+1][m+1]==0?printf("0/1"):printf("%lld%c%lld",f[n+1][m+1]/num,47,dp/num);
        return 0;
    }
  • 相关阅读:
    js的break与continue
    mongodb报错UserNotFound: Could not find user xxx@xxx
    2.mongodb基本命令
    centos导入mongodb数据库
    linux全局安装express
    centos查看软件及配置软件环境变量
    centos查看版本号
    Spring-boot+Mybatis+Maven+MySql搭建实例
    Spring Boot 静态资源处理
    使用Spring Boot开发WEB页面
  • 原文地址:https://www.cnblogs.com/arcturus/p/9363476.html
Copyright © 2020-2023  润新知