50pts O(n)做法求条
  • 板块P13550 宇宙分解
  • 楼主K_J_M
  • 当前回复1
  • 已保存回复1
  • 发布时间2025/8/2 19:03
  • 上次更新2025/8/3 09:37:39
查看原帖
50pts O(n)做法求条
1353330
K_J_M楼主2025/8/2 19:03

赛时一直50。

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N = 1e5+10;
const int mod = 998244353;
int n,a[N];
signed main(){
	cin>>n;
	for(int i=1;i<=n;++i) cin>>a[i];
	int lst=1,ans=1;
	for(int i=2;i<=n;++i){
		int tmp=i,now=a[i],cnt=0;
		while(i<=n&&a[i]>a[lst]){
			if(a[i]!=now) ans=ans*(cnt+1)%mod,cnt=1,now=a[i];
			else ++cnt;
			++i;
		}
		ans=ans*(cnt+1)%mod;
		lst=i;
	}
	cout<<ans;
	return 0;
}


2025/8/2 19:03
加载中...