bzoj 1799: [Ahoi2009]self 同类分布(数位DP)
1799: [Ahoi2009]self 同类分布
Time Limit: 50 Sec Memory Limit: 64 MB
Submit: 1358 Solved: 592
[Submit][Status][Discuss]
Description
Input
Output
Sample Input
Sample Output
dp[len][x][y][p]表示当前到了len位,前面所有数之和为x,对p取模为y的情况个数
最后当len=0时,如果x==p && y==0就合法
不过你不遍历完每一位你是不会知道所有数之和的,所以p要暴力,位数之和<=9*18不会超时
既然是单实例,直接省掉第四维吧,高维寻址反而慢
#include<stdio.h>
#include<string.h>
#define LL long long
LL str[22], dp[22][166][166];
LL Sech(LL len, LL x, LL y, LL flag, LL mod)
{LL i, c, ans;if(len==0){if(x==mod && y==0)return 1;return 0;}if(flag==0 && dp[len][x][y]!=-1)return dp[len][x][y];c = 9;if(flag)c = str[len];ans = 0;for(i=0;i<=c;i++)ans += Sech(len-1, x+i, (y*10+i)%mod, flag && i==c, mod);if(flag==0)dp[len][x][y] = ans;return ans;
}
LL Jud(LL x)
{LL i, len, ans;if(x==0)return 0;ans = len = 0;while(x){str[++len] = x%10;x /= 10;}for(i=1;i<=len*9;i++){memset(dp, -1, sizeof(dp));ans += Sech(len, 0, 0, 1, i);}return ans;
}
int main(void)
{LL L, R;while(scanf("%lld%lld", &L, &R)!=EOF)printf("%lld\n", Jud(R)-Jud(L-1));return 0;
}
bzoj 1799: [Ahoi2009]self 同类分布(数位DP)相关推荐
- BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/1799(样例时限设置有问题,应该为 2 ...
- P4127 [AHOI2009]同类分布 数位dp + 对状态剪枝
传送门 文章目录 题意: 思路: 题意: 思路: 比较套路的题,首先也有个明显的状态f[pos][num][sum]f[pos][num][sum]f[pos][num][sum]表示到了pospos ...
- [BZOJ1799][Ahoi2009]self 同类分布(数位dp)
题目描述 给出两个数 a,ba,b ,求出 [a,b][a,b] 中各位数字之和能整除原数的数的个数. 输入输出格式 输入格式: 一行,两个整数 aa 和 bb 输出格式: 一个整数,表示答案 输入输 ...
- 【BZOJ 3326】[Scoi2013]数数 数位dp+矩阵乘法优化
挺好的数位dp-- 先说一下我个人的做法: 经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所 ...
- bzoj 1026: [SCOI2009]windy数(数位dp)
1026: [SCOI2009]windy数 Time Limit: 1 Sec Memory Limit: 162 MB Submit: 7688 Solved: 3470 [Submit][S ...
- bzoj 3209 花神的数论题 —— 数位DP
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3209 算是挺简单的数位DP吧,但还是花了好久才弄明白... 又参考了博客:https://b ...
- bzoj 1902: Zju2116 Christopher lucas定理 数位DP
1902: Zju2116 Christopher Time Limit: 1 Sec Memory Limit: 64 MB Submit: 172 Solved: 67 [Submit][St ...
- BZOJ 1833 ZJOI2010 count 数字计数 数位DP
题目大意:求[a,b]间全部的整数中0~9每一个数字出现了几次 令f[i]为i位数(算前导零)中每一个数出现的次数(一定是同样的,所以仅仅记录一个即可了) 有f[i]=f[i-1]*10+10^(i- ...
- bzoj 1801: [Ahoi2009]chess 中国象棋【dp】
注意到一行只能放012个炮,我们只需要知道列的状态,不用状压行 所以设f[i][j][k]表示前i行有j列有1个炮,有k列有2个炮的方案数 然后分情况讨论转移就行了 #include<cstdi ...
最新文章
- 微信小程序实战之百思不得姐精简版
- 怎么用python处理excel文件-用Python读写Excel文件的方式比较
- Redhat7修改默认运行级别方法
- Liunx安装JDK,tomcat,mysql的依赖包命令
- UNIX网络编程读书笔记:套接口地址结构
- 不写一行代码就能玩转 Kaggle 竞赛?
- 矩阵分析(二):子空间之间的代数关系-无交连、正交与正交补
- 数字化、数字化营销及其重要性的思考
- 企业收费邮箱如何选择及好处
- Java - 批量生成二维码压缩包
- Unity VR游戏教程
- 关于PHP程序员技术职业生涯规划--swool大神韩天峰
- 请用文言文写一篇500字的古文
- 零信任网络ZTNA及SDP概念理解
- 零基础创建自定义gym环境——以股票市场为例
- LearnGL - 06.1 - Matrix - 矩阵02 - 向量空间、向量空间的维度、为何矩阵乘法要有 [M x N] * [N * P] 的 N 要相等的限制
- C# 从做早餐看同步异步
- RISC领域ARM不是唯一
- arctanx麦克劳林公式推导过程_多元正态分布的推导、n维球体积面积的计算
- 有限公司跟有限责任公司是什么
热门文章
- php和python-PHP和Python性能比较:放弃PHP改用Python
- 零基础学python书籍-清华大学出版社-图书详情-《零基础入门学习Python》
- python能做什么游戏-用Python可以做哪些有意思的小游戏呢?
- io字符流和字节流之间的转换和基本应用练习
- 【Java笔记】四种权限修饰符总结
- CodeForces round 753 problem B Odd Grasshopper(奇怪的蚱蜢)
- MSU 出品的 H.264 编码器比较 (2011.5)
- python open找不到文件的原因_python – logger找不到文件
- jQuery 学习-样式篇(七):jQuery 控制元素类属性
- 使用 k8s 搭建 confluence 6.10.x 版本