对于每一个数字,可以放左边递增序列,也可以放右边递减序列。

假如某个数字有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);
    }
}