标签:LJJ 题意 int 定理 LOJ6485 freopen 二项式 define
【题意】
【分析】
直接上单位根反演+二项式定理推一波式子即可
【代码】
#include<bits/stdc++.h> using namespace std; #define mp make_pair #define fi first #define se second #define lson now<<1 #define rson now<<1|1 typedef long long ll; const int mod=998244353; ll n,s,a[4],ans; ll w[4],inv4; ll qpow(ll a,ll b) { ll res=1; while(b) { if(b&1) res=res*a%mod; a=a*a%mod; b>>=1; } return res; } int main() { freopen("a.in","r",stdin); freopen("a.out","w",stdout); int t; scanf("%d",&t); for(int i=0;i<4;i++) w[i]=qpow(3,1LL*i*(mod-1)/4); inv4=qpow(4,mod-2); while(t--) { scanf("%lld%lld",&n,&s); n%=mod-1; for(int i=0;i<4;i++) scanf("%lld",&a[i]); ans=0; for(int i=0;i<4;i++) { ll res=0; for(int j=0;j<4;j++) res=(res+w[((4-i)*j)&3]*qpow(s*w[j]%mod+1,n)%mod)%mod; ans=(ans+res*a[i]%mod); } printf("%lld\n",ans*inv4%mod); } return 0; }
标签:LJJ,题意,int,定理,LOJ6485,freopen,二项式,define 来源: https://www.cnblogs.com/andylnx/p/14820758.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。