hpuoj 1192 Sequence
来源:互联网 发布:东北大学网络教育查询 编辑:程序博客网 时间:2024/06/01 08:36
点击打开题目
排列组合,
就是依次找出每种价值的排列数。
其实递推一下,
b[n]表示每个数出现的次数。
用c[n];表示从1-n c[i]==价值i的组合数。
c[i]=pow(2,b[n])-1*c[i-1];
当然前面的还要保留。
超int 用 long long
代码:
#include<bits/stdc++.h>#define ll long longusing namespace std;const int maxn=50+10;ll c[20];int a[maxn],b[20];;int main(){ int T,n; scanf("%d",&T); while(T--){ ll ans=0,t=0,s=0; memset(b,0,sizeof(b)); memset(c,0,sizeof(c)); scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",&a[i]); b[a[i]]++; }int ct=0; for(int i=1;i<=10;i++) { if(b[i]!=0)s++; c[i]=0; } for(int i=1;i<=10;i++){ if(b[i]){ ct++;ll t=pow(2,b[i])-1; for(int j=ct;j>=1;j--){ if(j==1) c[j]+=t; else { c[j]+=c[j-1]*t; } } } } for(int i=1;i<=ct;i++){ ans+=i*c[i];//printf("%d %d\n",i,c[i]); } printf("%lld\n",ans); } return 0;}
0 0
- hpuoj 1192 Sequence
- HPUOJ 1192 Sequence
- hpuoj 1192: Sequence
- hpuoj-1192-Sequence【状态压缩】【组合数学】
- **【HPUOJ】
- 【hpuoj】傻圆儿要去哪
- HPUOJ Triangles
- 【HPUOJ】Triangles
- 【HPUoj】1218
- 【HPUoj】1220
- hpu_oj 1192: Sequence
- hpuoj 1193:蛇行矩阵
- hpuoj 1101: 密码截获
- hpuoj 1287 HH实习
- hpuoj 1868 寻宝【BFS】
- hpuoj 1691 追女孩
- hpuoj 1692 找女友
- hpuoj 1696 工程
- 事务隔离级别及传播行为以及事务注解@Transactional的理解
- 互联网开发模式的经验之谈
- 如何安全Android:手机或平板电脑14个安全的秘诀
- dbms_obfuscation_toolkit(数据加密解密)
- Python Spider 的总结
- hpuoj 1192 Sequence
- QT常用类
- c++Csring 截取字符串
- Linux下定时备份MySQL数据库的Shell脚本
- spring中的定时器 Quartz
- Mac El Capitan(10.11.6) 编译以及烧制Nexus6P(6.0.1-MTC20F)的曲折经历
- jquery为DOM元素缓存数据
- 邮票问题
- 怎样解决XMind 6中缺失安装java环境问题