zoukankan      html  css  js  c++  java
  • BZOJ 1002 [FJOI2007]轮状病毒

    题解:

    DP

    观察发现病毒的形态,由一些弧并且每段弧有一个点连向中心

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    
    int n;
    
    struct BigNum{
        int arr[102];
        BigNum(){
            memset(arr,0,sizeof(arr));
        }
        void Clea(){
            memset(arr,0,sizeof(arr));
        }
    }Bx,By,Bz,ans;
    void Add(){
        Bz.Clea();
        for(int i=1;i<=100;++i)Bz.arr[i]=Bx.arr[i]+By.arr[i];
        for(int i=1;i<=100;++i){
            Bz.arr[i+1]+=Bz.arr[i]/10;
            Bz.arr[i]%=10;
        }
    }
    void Mul(){
        Bz.Clea();
        int lenx=100,leny=100;
        while(Bx.arr[lenx]==0&&lenx)--lenx;
        while(By.arr[leny]==0&&leny)--leny;
        for(int i=1;i<=lenx;++i){
            for(int j=1;j<=leny;++j){
                Bz.arr[i+j-1]+=Bx.arr[i]*By.arr[j];
            }
        }
        for(int i=1;i<=100;++i){
            Bz.arr[i+1]+=Bz.arr[i]/10;
            Bz.arr[i]%=10;
        }
    }
    void MulNum(int x){
        Bz.Clea();
        for(int i=1;i<=100;++i){
            Bz.arr[i]=Bx.arr[i]*x;
        }
        for(int i=1;i<=100;++i){
            Bz.arr[i+1]+=Bz.arr[i]/10;
            Bz.arr[i]%=10;
        }
    }
    
    BigNum f[109],g[109];
    
    int main(){
        scanf("%d",&n);
        f[0].arr[1]=1;
        for(int i=1;i<=n;++i){
            for(int j=1;j<=i;++j){
                Bx=f[i-j];MulNum(j);
                Bx=Bz;By=f[i];Add();f[i]=Bz;
            }
        }
        ans=f[n];
        for(int i=2;i<=n;++i){
            Bx=f[n-i];MulNum((i-1)*i);g[i]=Bz;
            Bx=g[i];By=ans;Add();ans=Bz;
        }
        int len=100;
        while(ans.arr[len]==0)--len;
        for(int i=len;i>=1;--i)printf("%d",ans.arr[i]);
        cout<<endl;
        return 0;
    }
    自己还是太辣鸡了
  • 相关阅读:
    漂亮的圆角,没有使用图片
    近日,ubuntu,未来,other
    本机邮件服务器配置
    CSS中文直書排版
    初学媒体软件时的一些鼠绘作品
    早期的一些关于logo的作品
    没毕业在学时为找工作设计个人画册
    神气蹦蹦 我原创可爱游戏
    asdff
    从前的图像处理的作品,胡乱整理
  • 原文地址:https://www.cnblogs.com/zzyer/p/8609847.html
Copyright © 2011-2022 走看看