zoukankan      html  css  js  c++  java
  • Codeforces 57C Array dp暴力找到规律

    主题链接:点击打开链接

    的非增量程序首先,计算,

    如果不增加的节目数量x, 非减少一些方案是x

    答案就是 2*x - n

    仅仅需求得x就可以。

    能够先写个n3的dp,然后发现规律是 C(n-1, 2*n-1)

    然后套个逆元就可以。

    #include<iostream>
    #include<cstdio>
    #include<vector>
    #include<string.h>
    using namespace std;
    #define ll long long
    #define mod 1000000007
    ll n;
    ll Pow(ll x, ll y)
    {
        ll ans = 1;
        while(y)
        {
            if(y&1) ans = (ans * x) % mod;
            y >>= 1;
            x = (x*x)%mod;
        }
        return ans;
    }
    ll chu(ll x, ll y)
    {
        return (x * Pow(y, mod-2))%mod;
    }
    int main(){
    	ll i, j;
    	while(cin>>n){
            if(n==1){puts("1");continue;}
            n -- ;
            ll ans = n+2;
            ll zi = 2, mu = n+3;
            for(i = n+3; i <= 2*n+1; i++)
            {
                ans *= mu;
                ans = chu(ans % mod, zi);
                mu++; zi++;
            }
            ans *= 2; ans -= (n+1);
            ans += mod;
            cout<<ans%mod<<endl;
    	}
    	return 0;
    }

    版权声明:本文博主原创文章,博客,未经同意不得转载。

  • 相关阅读:
    资源列表
    资源列表
    编程语言资源列表
    PyTorch简介
    Keras构建回归神经网络
    Keras简介
    Tensorflow之RNN,LSTM
    Tensorflow之CNN
    Tensorflow之dropout
    Tensorflow做分类
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4776914.html
Copyright © 2011-2022 走看看