选拔(select)

Time Limit:2000ms   Memory Limit:128MB

题目描述

LYK对n个女生有好感。第i个女生的身高为ai。

LYK要在这些女生中选拔出一个女生来作为他的女朋友。选拔当然要排队咯。于是LYK想让这n个女生排成一行。

但LYK觉得对于两个身高相同的女生,谁排在前谁排在后其实让整个队列看上去并没有什么差别。

LYK想知道有多少个有差别的队列。

输入格式(select.in)

第一行一个数n表示女生个数。

第二行有n个数ai表示第i个女生的身高。

输出格式(select.out)

一个数表示答案。

输入样例

3

1 2 2

输出样例

3

数据范围

对于40%的数据n<=5,。

对于60%的数据n<=20。

对于80%的数据n<=1000。

对于100%的数据n<=10000,1<=ai<=n。

 #define LL long long

 #include<iostream>
#include<algorithm>
#include<cstring>
#include<iomanip>
#include<cstdio>
using namespace std; const int MAXN=;
const int DLEN=;
const int WIDE=; class BigNum
{
public:
BigNum(){memset(NUM,,sizeof(NUM));LEN=;}
BigNum(const BigNum &A){memcpy(NUM,A.NUM,sizeof(NUM));LEN=A.LEN;}
BigNum(int n){memset(NUM,,sizeof(NUM));NUM[]=n;LEN=;while(NUM[LEN-]>=WIDE){NUM[LEN]+=NUM[LEN-]/WIDE;NUM[LEN-]%=WIDE;LEN++;}}
LL NUM[MAXN],LEN;
}; void Output(const BigNum T)
{
cout<<T.NUM[T.LEN-];
for(int i=T.LEN-;i>=;i--)
{
cout.width(DLEN);
cout.fill('');
cout<<T.NUM[i];
}
} BigNum Mult(BigNum A,int n)
{
BigNum C(A);
int i,tmp,k=;
for(i=;i<C.LEN||k;i++)
{
tmp=C.NUM[i]*n+k;
k=tmp/WIDE;
C.NUM[i]=tmp%WIDE;
}
C.LEN=i;
return C;
} BigNum Div(BigNum A,int n)
{
BigNum C(A);
int k=;
for(int i=C.LEN-;i>=;i--)
{
k=k*WIDE+C.NUM[i];
C.NUM[i]=k/n;
k%=n;
}
while(C.NUM[C.LEN-]==) C.LEN--;
return C;
} int n;
int a[];
BigNum A(); int main()
{
freopen("select.in","r",stdin);
freopen("select.out","w",stdout);
scanf("%d",&n);
for(int i=;i<=n;i++)
{
int x;
scanf("%d",&x);
a[x]++;
}
for(int i=;i<=n;i++)
A=Mult(A,i);
for(int i=;i<=;i++)
if(a[i]>)
{
for(int j=;j<=a[i];j++)
A=Div(A,j);
}
Output(A);
return ;
}

模板题

一开始高精度开小了,爆80。。。

最新文章

  1. IE滤镜及其使用技巧
  2. 如何在个人博客引擎 Hexo 中添加 Swiftype 搜索组件
  3. PHP魔法方法的使用
  4. webform(内置对象)
  5. bug 调试了一个下午外加半个晚上的bug
  6. js上下滚屏效果,代码通过测试
  7. Asp.Net微信登录-电脑版扫描二维码登录
  8. Bginfo软件在域的部署和应用
  9. ASP.NET Core MVC/WebAPi如何构建路由?
  10. Java基础——关于访问权限的一道例题
  11. 笔记14 Hello Spring MVC
  12. Python的生成器send()方法 &amp; yield_from
  13. Android 指定 Theme
  14. spring boot 2.0.3+spring cloud (Finchley)2、搭建负载均衡Ribbon (Eureka+Ribbon+RestTemplate)
  15. EF-记录程序自动生成并执行的sql语句日志
  16. IntelliJ Idea注释模板--类注释、方法注释
  17. Ubuntu系统下使用Jenkins进行项目的自动构建还是项目回滚方法
  18. 小峰servlet/jsp(6)jstl核心标签库
  19. Codeforces Round #381 (Div. 2) D. Alyona and a tree dfs序+树状数组
  20. happy in java之io流简介

热门文章

  1. tomcat mamcached session共享方法
  2. Spark (Python版) 零基础学习笔记(二)—— Spark Transformations总结及举例
  3. @Modifying 注解完成修改操作
  4. 026 Remove Duplicates from Sorted Array 从排序数组中删除重复项
  5. windows7安装完上不了网
  6. Python3.5 调用Ansible 执行命令
  7. RPC框架设计思路
  8. SQLServer 索引的使用情况
  9. ASP Session的功能的缺陷以及解决方案
  10. echarts折线图相关