我是靠谱客的博主 粗心草莓,最近开发中收集的这篇文章主要介绍杭电第九场题解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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;
}

最后

以上就是粗心草莓为你收集整理的杭电第九场题解的全部内容,希望文章能够帮你解决杭电第九场题解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部