F - Random Sort
题意:
随机给一个a permutation p of length n (A permutation of length n is an array of length n where each integer between 1 and n appears exactly once).
然后根据每个数字对应的下标按下标摆放,问有多少随机的permutation能够达到真正的有序,同个数字之间有不同的摆放方法为
A (排列数)r然后不同数字间相乘
#include<bits/stdc++.h>
using namespace std;
#define maxn 11500
long long t,a[maxn],ans,x,n;
int main()
{
scanf("%lld",&t);
while(t--)
{
scanf("%lld",&n);
memset(a,0,sizeof(a));
ans=1;
for(int i=0; i<n; i++)
{
scanf("%lld",&x);
a[x]++;
ans*=a[x];
ans%=7901;
}
ans%=7901;
printf("%lld\n",ans);
}
return 0;
}
本文探讨了一道关于随机排列的问题,目标是计算在特定条件下,能够达到真正有序状态的随机排列的数量。通过使用C++实现的算法,文章详细介绍了如何根据每个数字在随机排列中的出现次数来计算这一数量。
2090

被折叠的 条评论
为什么被折叠?



