HDU4475(找规律+预处理加速)

来源:互联网 发布:linux创建多级目录函数 编辑:程序博客网 时间:2024/06/05 17:53

题目:Downward paths

 

设size=i,答案是ai;

       a1=2=1+1;

       a2=8=2+2*2+2;

       a3=48=8+8*2+8*2+8;

       a4=384 =48+48*2+48*2+48*2+48;

       ......

很明显规律:an=an-1+2*(n-1)an-1+an-1=2*n*an-1;  即:an=2^n*n!

#include <iostream>using namespace std;typedef unsigned long long LL;const LL MOD = 1000003;LL arr[1000100];int main(){    LL t,n,i;    arr[0]=0;arr[1]=2;    for(i=2;i<=MOD;i++)        arr[i]=(arr[i-1]*2*i)%MOD;    cin>>t;    while(t--)    {        cin>>n;        if(n>=MOD)        {            cout<<"0"<<endl;            continue;        }        cout<<arr[n]<<endl;    }    return 0;}


 

 

原创粉丝点击