p4773红鲤鱼与绿鲤鱼,数学

就是选择c
首先由c种选择
时间=wa+最后ac+前中ac
wa:5*c*a
最后ac:5*c(a+b+1)
前中ac:
由于前中每个位置挑选没有特殊性,所以每个位置分得的次数是一样的
平均每个位置分得的次数:b/(a+b)
平均每个位置的罚时:(a+b+1)(a+b)/2
前中ac所占的罚时:
所有情况的时间相加/情况数:


所以只要判断是否可以被2除
#include <bits/stdc++.h>
using namespace std;

const int mod=998244853;
typedef long long ll;

ll a,b,motherTwo=1,ans;

void find2(){
	ll a=2,b=mod-2;
	while(b){
		if(b&1) motherTwo*=a, motherTwo%=mod;
		b>>=1, a*=a, a%=mod;
	}
}

int main(int argc, char** argv) {
	find2();
	cin>>a>>b;
	a%=mod, b%=mod;
	ans=(((a<<2)%mod+(b<<1)%mod)%mod+2+((a+b)%mod+1)%mod*b%mod)%mod;
	ans=ans*5%mod;
	if(ans%2==0) cout<<ans/2<<endl;
	else{
		ans=ans*motherTwo%mod;
		cout<<ans<<endl;
	}
	return 0;
}


全部评论

相关推荐

jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
dongsheng66:如果想进大厂的话,在校经历没必要占这么大篇幅,可以把专业技能单独放一个专栏写,可以加个项目经历
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务