本文主要是介绍Good Bye 2018-D. New Year and the Permutation Concatenation,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
地址:http://codeforces.com/contest/1091/problem/D
思路:规律题,比赛时一看就想到是规律题,但是一直没找到规律,看了别人的代码才发现是和前一个值有关
i=1 f[i]=1
i=2 f[i]=2=2!+0 0=2*(1-1)
i=3 f[i]=9=3!+3 3=3*(2-1);
i=4 f[i]=56=4!+32 32=4*(9-1);
i=5 f[i]=395=5!+275 275=5*(56-1);
i=n : f[i]=n!+t t=n*(f[n-1]-1);
Code:
#include<iostream>
using namespace std;
typedef long long LL;const LL MOD=998244353;
LL n;int main()
{ios::sync_with_stdio(false);cin>>n;LL ans=1,dd=1,pre=1;for(LL i=2;i<=n;++i){dd=dd*i%MOD;ans=(dd+(pre-1+MOD)%MOD*i)%MOD;pre=ans;}cout<<ans<<endl;return 0;
}
这篇关于Good Bye 2018-D. New Year and the Permutation Concatenation的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!