社区讨论

0分求调

P13550 宇宙分解参与者 2已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mdvi18ts
此快照首次捕获于
2025/08/03 17:48
7 个月前
此快照最后确认于
2025/11/04 03:16
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
#define int long long 
using namespace std;
int n,a[100005],ans,s,b[100005];
signed main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
		scanf("%lld",&a[i]);
	int u=a[1];
	for(int i=2;i<=n;i++)
	{
		if(u<a[i])
			s++;
		else
			u=a[i];
		
	}
	ans=1;
	int y=1;
	for(int i=1;i<=n;i++)
	{
		y=(y*i)%998244353;
		b[i]=y;
	}//1到n的阶乘
	
	for(int i=1;i<=s;i++)//从s里选1到s个数的组合
	{
		int p=b[s]/b[s-1];
		p/=b[i];
		ans=(ans+p)%998244353;
	}
	cout<<ans;
}
没去重但应该也有40分?

回复

4 条回复,欢迎继续交流。

正在加载回复...