博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj千题计划178:bzoj2425: [HAOI2010]计数
阅读量:4543 次
发布时间:2019-06-08

本文共 757 字,大约阅读时间需要 2 分钟。

 

题意转化:

给定一个集合S,求S的全排列<给定排列 的排列个数

 

从最高位开始逐位枚举确定

没有枚举到的位就是可重复集合的全排列

公式是 n!/ (n1!*n2!……)

高精?

用它的推导公式:C(n,n1)*C(n-n1,n2)*C(n-n1-n2,n3)……

 

#include
#include
#include
using namespace std;typedef long long LL;char s[51];int a[10],num[51];LL ans;LL C[51][51];LL getC(int n,int m){ if(C[n][m]) return C[n][m]; if(m==1) return n; if(n==m || !m) return 1; if(m>n) return 0; return C[n][m]=getC(n-1,m-1)+getC(n-1,m);}int main(){ scanf("%s",s+1); int n=strlen(s+1); for(int i=1;i<=n;++i) { num[i]=s[i]-'0'; a[num[i]]++; } int m=n,tmp; LL res; for(int i=1;i<=n;++i) { m--; for(int j=0;j

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/8175584.html

你可能感兴趣的文章
word2010更改样式
查看>>
百家姓
查看>>
Xcode代码提示里的字母含义
查看>>
[CQOI2017]小Q的表格(数论+分块)
查看>>
leetcode59
查看>>
tcp eaddrnotavail
查看>>
同步带传动张紧轮位置估算
查看>>
Access连接字符串
查看>>
python单元测试框架pytest——fixture函数(类似unitest的setup和teardown)
查看>>
Hadoop源码分析8: IPC流程(3)客户端的clients、connections、calls复用
查看>>
[MVC]View
查看>>
Django REST FRAMEWORK swagger(二)model序列化
查看>>
一点随想
查看>>
SVN操作步骤
查看>>
Xianqi UVa 1589
查看>>
无刷新效果统计在线人数
查看>>
2017-2018-2 1723《程序设计与数据结构》问题汇总 (更新完毕)
查看>>
c# 通过反射 实例化类
查看>>
[ubuntu]中文用户目录路径改英文
查看>>
spark 编程教程
查看>>