1799: [Ahoi2009]self 同类分布

Time Limit: 50 Sec  Memory Limit: 64 MB
Submit: 1358  Solved: 592
[Submit][Status][Discuss]

Description

给出a,b,求出[a,b]中各位数字之和能整除原数的数的个数。

Input

Output

Sample Input

10 19

Sample Output

3

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)相关推荐

  1. BZOJ 1799 [Ahoi2009] self 同类分布(数位DP)【BZOJ千题计划(quexin】

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 题目链接 https://hydro.ac/d/bzoj/p/1799(样例时限设置有问题,应该为 2 ...

  2. P4127 [AHOI2009]同类分布 数位dp + 对状态剪枝

    传送门 文章目录 题意: 思路: 题意: 思路: 比较套路的题,首先也有个明显的状态f[pos][num][sum]f[pos][num][sum]f[pos][num][sum]表示到了pospos ...

  3. [BZOJ1799][Ahoi2009]self 同类分布(数位dp)

    题目描述 给出两个数 a,ba,b ,求出 [a,b][a,b] 中各位数字之和能整除原数的数的个数. 输入输出格式 输入格式: 一行,两个整数 aa 和 bb 输出格式: 一个整数,表示答案 输入输 ...

  4. 【BZOJ 3326】[Scoi2013]数数 数位dp+矩阵乘法优化

    挺好的数位dp-- 先说一下我个人的做法: 经过观察,发现这题按照以往的思路从后往前递增,不怎么好推,然后我就大胆猜想,从前往后推,发现很好推啊,维护四个变量,从开始位置到现在有了i个数 f[i]:所 ...

  5. bzoj 1026: [SCOI2009]windy数(数位dp)

    1026: [SCOI2009]windy数 Time Limit: 1 Sec  Memory Limit: 162 MB Submit: 7688  Solved: 3470 [Submit][S ...

  6. bzoj 3209 花神的数论题 —— 数位DP

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3209 算是挺简单的数位DP吧,但还是花了好久才弄明白... 又参考了博客:https://b ...

  7. bzoj 1902: Zju2116 Christopher lucas定理 数位DP

    1902: Zju2116 Christopher Time Limit: 1 Sec  Memory Limit: 64 MB Submit: 172  Solved: 67 [Submit][St ...

  8. BZOJ 1833 ZJOI2010 count 数字计数 数位DP

    题目大意:求[a,b]间全部的整数中0~9每一个数字出现了几次 令f[i]为i位数(算前导零)中每一个数出现的次数(一定是同样的,所以仅仅记录一个即可了) 有f[i]=f[i-1]*10+10^(i- ...

  9. bzoj 1801: [Ahoi2009]chess 中国象棋【dp】

    注意到一行只能放012个炮,我们只需要知道列的状态,不用状压行 所以设f[i][j][k]表示前i行有j列有1个炮,有k列有2个炮的方案数 然后分情况讨论转移就行了 #include<cstdi ...

最新文章

  1. 微信小程序实战之百思不得姐精简版
  2. 怎么用python处理excel文件-用Python读写Excel文件的方式比较
  3. Redhat7修改默认运行级别方法
  4. Liunx安装JDK,tomcat,mysql的依赖包命令
  5. UNIX网络编程读书笔记:套接口地址结构
  6. 不写一行代码就能玩转 Kaggle 竞赛?
  7. 矩阵分析(二):子空间之间的代数关系-无交连、正交与正交补
  8. 数字化、数字化营销及其重要性的思考
  9. 企业收费邮箱如何选择及好处
  10. Java - 批量生成二维码压缩包
  11. Unity VR游戏教程
  12. 关于PHP程序员技术职业生涯规划--swool大神韩天峰
  13. 请用文言文写一篇500字的古文
  14. 零信任网络ZTNA及SDP概念理解
  15. 零基础创建自定义gym环境——以股票市场为例
  16. LearnGL - 06.1 - Matrix - 矩阵02 - 向量空间、向量空间的维度、为何矩阵乘法要有 [M x N] * [N * P] 的 N 要相等的限制
  17. C# 从做早餐看同步异步
  18. RISC领域ARM不是唯一
  19. arctanx麦克劳林公式推导过程_多元正态分布的推导、n维球体积面积的计算
  20. 有限公司跟有限责任公司是什么

热门文章

  1. php和python-PHP和Python性能比较:放弃PHP改用Python
  2. 零基础学python书籍-清华大学出版社-图书详情-《零基础入门学习Python》
  3. python能做什么游戏-用Python可以做哪些有意思的小游戏呢?
  4. io字符流和字节流之间的转换和基本应用练习
  5. 【Java笔记】四种权限修饰符总结
  6. CodeForces round 753 problem B Odd Grasshopper(奇怪的蚱蜢)
  7. MSU 出品的 H.264 编码器比较 (2011.5)
  8. python open找不到文件的原因_python – logger找不到文件
  9. jQuery 学习-样式篇(七):jQuery 控制元素类属性
  10. 使用 k8s 搭建 confluence 6.10.x 版本