概述
1010 Sum Plus Product
给定n个数,每次随机选两个数a,b合并成为ab+a+b,直到剩下一个数为止。求剩下的数字的期望。答案对998244353取模。
最终答案和操作顺序无关。枚举一遍即可。
#include<bits/stdc++.h>
using namespace std;
template <typename tn>void read(tn &n){
tn f=1,t=0;char ch=getchar();
while (!isdigit(ch)){if (ch=='-') f=-1;ch=getchar();}
while (isdigit(ch)) t=t*10+ch-'0',ch=getchar();
n=f*t;
}
inline void out(int x){
if(x>9)out(x/10);
putchar(x%10+'0');
}
int ex_gcd(int a,int b,int &x,int &y){
if(b==0){
x=1,y=0;
return a;
}
int r=ex_gcd(b,a%b,x,y);
int t=x;
x=y;
y=t-a/b*y;
return r;
}
int mod_reverse(int a,int b){
int d,x,y;
d=ex_gcd(a,b,x,y);
if(d==1)return (x%b+b)%b;
else return -1;
}
int T,n;
long long Ans,a,P,Q,mo=998244353;
int main(){
read(T);
while(T--){
read(n);
Ans=0;
for(int i=1;i<=n;++i){
read(a);
Ans=Ans*a+Ans+a;
if(Ans>=mo)Ans%=mo;
}
cout<<Ans<<endl;
}
return 0;
}
最后
以上就是粗心草莓为你收集整理的杭电第九场题解的全部内容,希望文章能够帮你解决杭电第九场题解所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复