bzoj2425 [HAOI2010]计数 组合数
分部分统计即可,注意0的位置用插板法
使用组合数要区别第一个位置前能不能放
码:
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
long long i,j,len,C[59][59],tong[11],lin,fa,ans,tot,k;
char str[99];
int main()
{scanf("%s",str);len=strlen(str);for(i=0;i<len;i++){tong[str[i]-'0']++;}C[0][0]=1;for(i=1;i<=55;i++){C[i][0]=1;for(j=1;j<=55;j++){C[i][j]=C[i-1][j-1]+C[i-1][j];}}fa=1;for(i=1;i<=9;i++)tot+=tong[i];lin=tot;for(i=1;i<=9;i++)fa*=C[lin][tong[i]],lin-=tong[i];for(i=tot;i<len;i++){
ans+=fa*C[i-1][i-tot];
}for(i=0;i<len;i++){int o=str[i]-'0';for(j=0;j<o;j++){if(!tong[j]||j==0&&i==0)continue;
if(j!=0) tong[j]--,tot--; lin=tot;fa=1;for(k=1;k<=9;k++)fa*=C[lin][tong[k]],lin-=tong[k]; ans+=fa*C[len-i-1][len-i-1-tot];
if(j!=0) tong[j]++,tot++; } if(o!=0){tong[o]--;tot--; } }printf("%lld",ans);
}
bzoj2425 [HAOI2010]计数 组合数相关推荐
- BZOJ2425:[HAOI2010]计数——题解
https://www.lydsy.com/JudgeOnline/problem.php?id=2425 https://www.luogu.org/problemnew/show/P2518 你有 ...
- [HAOI2010]计数 数位DP+组合数
题面: 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数.比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1020,等等. ...
- 洛谷P2518 [HAOI2010]计数
题目描述 你有一组非零数字(不一定唯一),你可以在其中插入任意个0,这样就可以产生无限个数.比如说给定{1,2},那么可以生成数字12,21,102,120,201,210,1002,1020,等等. ...
- bzoj4517 [Sdoi2016]排列计数 组合数+错排
这个题描述的本身就很离散,所以就相当于选出m个位置,剩下的位置的错排 错排的公式也不是很难推,注意及时利用以前的结果就好了,实在不行根据印象打表找规律 设有n个数 ,n个位置,第一个数一定不能选第一 ...
- 数位dp 的简单入门
时间紧张,就不讲那么详细了. 之前一直被深搜代码误解,以为数位dp 其实就是记忆化深搜...(虽说爆搜确实很舒服而且还好想) 但是后来发现数位dp 的标准格式其实是 预处理 + dp ...... 数 ...
- 2018十二月刷题列表
Preface \(2018\)年的尾巴,不禁感慨自己这一年的蜕变只能用蜕变来形容了. 而且老叶说我们今年没的参加清北冬令营可以参加CCF在广州二中举办的冬令营,只要联赛\(390+\)就应该可以报. ...
- NOIP前的刷题记录
因为这几天要加油,懒得每篇都来写题解了,就这里记录一下加上一句话题解好了 P4071 [SDOI2016]排列计数 组合数+错排 loj 6217 扑克牌 暴力背包 P2511 [HAOI2008 ...
- 【组合数学】计数模型、常见组合数与组合恒等式 ★★
文章目录 一.计数模型 二.常见的组合计数 一.计数模型 当前涉及到的计数模型 : 1 . 选取问题 : nnn 元集 SSS , 从 SSS 集合中选取 rrr 个元素 ; 根据 元素是否允许重复 ...
- 【组合数学】排列组合 ( 多重集组合数示例 | 三个计数模型 | 选取问题 | 多重集组合问题 | 不定方程非负整数解问题 )
文章目录 一.多重集组合示例 二.三个计数模型 排列组合参考博客 : [组合数学]基本计数原则 ( 加法原则 | 乘法原则 ) [组合数学]集合的排列组合问题示例 ( 排列 | 组合 | 圆排列 | ...
最新文章
- 缓存一致性和跨服务器查询的数据异构解决方案canal
- Django搭建个人博客:给文章加个漂亮的标题图
- 《Credit Risk Scorecard》第八章: Scorecard Implementation
- masonry的约束应该写在哪里_规划奇思|“中心城区”到底在哪里?和城镇开发边界是什么关系?...
- APICloud开发者进阶之路 | 超级实用技巧
- 「LibreOJ Round #11」Misaka Network 与测试 (网络流跑二分图匹配)
- 辨析ADKJVMJREJDKADT
- java web应用开发期末考试_Java开发工程师(Web方向) - 04.Spring框架 - 期末测试
- mysql基本命令总结
- H凹变换—lhMorpHConcave
- iOS底层探索之类的结构(中):bits
- linux 占用缓存前10_Linux查看内存使用情况应该使用什么命令
- DEA博弈交叉效率matlab,dea的交叉效率
- 使用ecstore-sdk开发包制作易开店和启明星模板
- ios共享账号公众号_新增iOS应用账号共享03
- centos6.5安装ansible和tower
- Intellij IDEA企业版破解
- 【小程序】384- 如何一人五天开发完复杂小程序(前端必看)
- 【2020-11-11】JS逆向之蘑菇街商品数据接口解密
- 武汉理工计算机网络,计算机网络实验武汉理工大学
热门文章
- 零基础机器学习(2)-你的第一个Python程序
- 优达学城深度学习之三(上)——卷积神经网络
- python3 try except or_Python基础10:try except异常处理详解
- 【mysql基础知识】通过Navicat控制小数点位数,以及填充0后不显示的问题
- 网络实用技术基础模拟测试2_网络安全工程师教你:Kali Linux之Metasploit渗透测试基础(五)...
- html盒子中盒子排列,css3中弹性盒排布使用方法
- reids mysql 面试_月薪3k的后端面试点-Mysql和Redis
- 华为p20Android怎么解开,华为P20如何获得root权限来解决自启动手机应用程序的问题...
- 每天一个小异常——ssh整合空指针异常
- api接口怎么分批传递数据_新手上路:浅谈什么是API接口 API定义是什么