链接:https://ac.nowcoder.com/acm/contest/551/F
来源:牛客网
其实吧,一开始自己推出了一个公式来的:
(嗯?!这么大?!)
后来看了题解,原来可以递推?!
a[i] = a[i-1] + (2*i-1);
好了,知道公式了我们就好办了
但是不知道为什么开100W的数组我用cb就爆掉了,但是提交还是可以绿的,?????????
//#include<bits/stdc++.h>
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<set>
#include<vector>
#include<queue>
#include<stdlib.h>
#include<cstring>
#include<string.h>
#include<string>
#include<math.h>
using namespace std ;
typedef long long ll;
#define MAXN 1000005
#define INF 0x3f3f3f3f // 等于1061109567
#define MALL (Qnode *)malloc(sizeof(Qnode));
const ll mod = 998244353;
ll a[MAXN];
int main()
{
ll w, q;
scanf("%lld %lld", &w, &q);
a[1]=1;
a[2]=3;
for(ll i=3;i<=1000005;i++)
{
a[i] = (a[i-1]%mod*(2*i-1)%mod)%mod ;
}
while(q--)
{
int n;
scanf("%d",&n);
printf("%lld\n",a[n]*w%mod);
}
return 0;
}