对于每一个数字,可以放左边递增序列,也可以放右边递减序列。
假如某个数字有num个,那么
即每个数字有num+1种方式存放
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5,m=998244353;
int T,n,a[maxn];
int main(){
scanf("%d",&T);
while(T--){
scanf("%d",&n);
for(int i=0;i<n;i++){
scanf("%d",&a[i]);
}
sort(a,a+n);
int sum=1,num=1;
for(int i=1;i<n;i++){
if(a[i]!=a[i-1]){
sum=1LL*sum*(num+1)%m;
num=1;
}else{
num++;
}
}
printf("%d\n",sum);
}
}