CSL的神奇序列

上周参加了“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛,去签到打铁,在那坐了四个多小时。
题目:CSL的神奇序列
题目链接:https://ac.nowcoder.com/acm/contest/551/F
做法:可以手算一下或者打表当w分别等于1,2,3时候前四项结果就会发现规律:
当n=1时,v[1]=w;
当n>=2时,v[n]=v[n-1](2n-1)%998244353。
(纯找规律签到题)
贴上代码:(记得把结果存成long long 型,我之前存成int 型WA了)

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll ans[1000005];
int main()
{
    ll w,q;
    scanf("%lld%lld",&w,&q);
    ans[1]=w;
    ll j;
    int i;
    for(i=2,j=3;i<=1000005;i++,j+=2)
    {
          ans[i]=(ans[i-1]*j)%998244353;
    }
    while(q--)
    {
          int n;
          scanf("%d",&n);
          printf("%lld\n",ans[n]);
    }
    return 0;
}

我一定可以的!!!

猜你喜欢

转载自blog.csdn.net/weixin_43499182/article/details/89018897