zoukankan      html  css  js  c++  java
  • bzoj1801中国象棋

    题目链接

    很裸的$dp+$组合计数

    注意

    注意

    注意

    $BZOJ$不要用玄学优化

    $CE$不管$qwq$

    /**************************************************************
        Problem: 1801
        User: zhangheran
        Language: C++
        Result: Accepted
        Time:196 ms
        Memory:11692 kb
    ****************************************************************/
     
    //#pragma GCC optimize(2)
    //#pragma GCC optimize(3)
    //#pragma GCC optimize("Ofast")
    //#pragma GCC optimize("inline")
    //#pragma GCC optimize("-fgcse")
    //#pragma GCC optimize("-fgcse-lm")
    //#pragma GCC optimize("-fipa-sra")
    //#pragma GCC optimize("-ftree-pre")
    //#pragma GCC optimize("-ftree-vrp")
    //#pragma GCC optimize("-fpeephole2")
    //#pragma GCC optimize("-ffast-math")
    //#pragma GCC optimize("-fsched-spec")
    //#pragma GCC optimize("unroll-loops")
    //#pragma GCC optimize("-falign-jumps")
    //#pragma GCC optimize("-falign-loops")
    //#pragma GCC optimize("-falign-labels")
    //#pragma GCC optimize("-fdevirtualize")
    //#pragma GCC optimize("-fcaller-saves")
    //#pragma GCC optimize("-fcrossjumping")
    //#pragma GCC optimize("-fthread-jumps")
    //#pragma GCC optimize("-funroll-loops")
    //#pragma GCC optimize("-fwhole-program")
    //#pragma GCC optimize("-freorder-blocks")
    //#pragma GCC optimize("-fschedule-insns")
    //#pragma GCC optimize("inline-functions")
    //#pragma GCC optimize("-ftree-tail-merge")
    //#pragma GCC optimize("-fschedule-insns2")
    //#pragma GCC optimize("-fstrict-aliasing")
    //#pragma GCC optimize("-fstrict-overflow")
    //#pragma GCC optimize("-falign-functions")
    //#pragma GCC optimize("-fcse-skip-blocks")
    //#pragma GCC optimize("-fcse-follow-jumps")
    //#pragma GCC optimize("-fsched-interblock")
    //#pragma GCC optimize("-fpartial-inlining")
    //#pragma GCC optimize("no-stack-protector")
    //#pragma GCC optimize("-freorder-functions")
    //#pragma GCC optimize("-findirect-inlining")
    //#pragma GCC optimize("-fhoist-adjacent-loads")
    //#pragma GCC optimize("-frerun-cse-after-loop")
    //#pragma GCC optimize("inline-small-functions")
    //#pragma GCC optimize("-finline-small-functions")
    //#pragma GCC optimize("-ftree-switch-conversion")
    //#pragma GCC optimize("-foptimize-sibling-calls")
    //#pragma GCC optimize("-fexpensive-optimizations")
    //#pragma GCC optimize("-funsafe-loop-optimizations")
    //#pragma GCC optimize("inline-functions-called-once")
    //#pragma GCC optimize("-fdelete-null-pointer-checks")
    //#include"suqingnian.h"
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    const int mod=9999973;
    long long dp[110][110][110];
    int n,m;long long ans;
    long long calc(long long xx) {return xx*(xx-1)/2;}
    int main()
    {
        scanf("%d%d",&n,&m);
        dp[0][0][0]=1;
        for(int i=0;i<n;i++)
          for(int j=0;j<=m;j++)
            for(int k=0;k<=m-j;k++)
            if(dp[i][j][k]){
            if(j-2>=0)  dp[i+1][j-2][k+2]=(dp[i+1][j-2][k+2]+dp[i][j][k]*calc(j))%mod;
            if(j-1>=0)  dp[i+1][j-1][k+1]=(dp[i+1][j-1][k+1]+dp[i][j][k]*j)%mod;
                dp[i+1][j][k]=(dp[i+1][j][k]+dp[i][j][k])%mod,
                dp[i+1][j][k+1]=(dp[i+1][j][k+1]+dp[i][j][k]*(m-j-k)*j)%mod,
                dp[i+1][j+1][k]=(dp[i+1][j+1][k]+dp[i][j][k]*(m-j-k))%mod,
                dp[i+1][j+2][k]=(dp[i+1][j+2][k]+dp[i][j][k]*calc(m-j-k))%mod;
    //      printf("%d %d %d %d
    ",i,j,k,dp[i][j][k]); 
        }
        for(int i=0;i<=m;i++)
          for(int j=0;j<=m-i;j++)
    //      printf("%lld ",dp[n][i][j]);
            ans=(ans+dp[n][i][j])%mod;
        printf("%lld
    ",ans%mod);
    }
    
  • 相关阅读:
    恶意代码检测--已看梳理
    tips
    十大排序
    python使用记录
    Matlab用figure;subplot后合并子图
    利用python的docx模块处理word和WPS的docx格式文件
    论文笔记(FCN网络,语义分割):Fully Convolutional Networks for Semantic Segmentation
    论文笔记:SoundNet: Learning Sound Representations from Unlabeled Video
    Winner-Take-All Autoencoders ( 赢者通吃自编码器)
    机器学习优化过程中的各种梯度下降方法(SGD,AdaGrad,RMSprop,AdaDelta,Adam,Momentum,Nesterov)
  • 原文地址:https://www.cnblogs.com/arcturus/p/9368558.html
Copyright © 2011-2022 走看看