zoukankan      html  css  js  c++  java
  • BZOJ2729 HNOI2012排队(组合数学+高精度)

      组合入门题。高精度入门题。

    #include<iostream> 
    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<cmath>
    #include<algorithm>
    using namespace std;
    int read()
    {
        int x=0,f=1;char c=getchar();
        while (c<'0'||c>'9') {if (c=='-') f=-1;c=getchar();}
        while (c>='0'&&c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
        return x*f;
    }
    #define N 1000010
    int n,m,a[N],len;
    void update()
    {
        for (int j=1;j<=len;j++)
        a[j+1]+=a[j]/10,a[j]%=10;
        while (a[len+1]) len++,a[len+1]+=a[len]/10,a[len]%=10;
    }
    void mul(int i)
    {
        for (int j=1;j<=len;j++)
        a[j]*=i;
        update();
    }
    int main()
    {
        n=read(),m=read();
        if (m==0)
        {
            a[1]=1;len=1;
            for (int i=2;i<=n+1;i++) mul(i);
            mul(n);
        }
        else
        {
            a[1]=2*m+n*(n+3);update();
            for (int i=2;i<=n+1;i++) mul(i);
            for (int i=n+2;i>n+3-m;i--) mul(i);
        }
        while (!a[len]&&len>1) len--;
        for (int i=len;i;i--) printf("%d",a[i]);
        return 0;
    }
  • 相关阅读:
    微服务架构
    微服务架构
    Java语言编程
    Java语言编程
    Java语言编程
    《自己动手写云盘》 – 确立需求
    树上差分
    线性基
    BM(Berlekamp-Massey)算法
    FFT/FWT
  • 原文地址:https://www.cnblogs.com/Gloid/p/9597767.html
Copyright © 2011-2022 走看看