\(Description:\)

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

$Sample $ \(Input:\)

10 19

\(Sample\) \(Output:\)

3

\(Solution:\)

设计状态 \(f[len][sum][res]\) 表示倒数还有 \(i\) 位要做,当前的和是 \(sum\) ,摸掉模数后剩下的数是 \(res\),

那么我们直接暴力枚举模数,\(len=0\) 最后判断一下是否 \(sum=mod\) \(\&\&\) \(res=0\) 这个时候可以吧答案返回为 \(1\) 。

那么再套个板子就。。。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int a,b;
const int N=20+1,M=200+1;
int f[N][M][M],digit[N];
inline int dfs(int len,int sum,int res,int p,bool limit){if(len==0) {if(res==0) return (sum==p)?1:0;// 答案的判断,以为这样写可以加速,实际上变慢了。。。return 0;}if(!limit && f[len][sum][res]!=-1) return f[len][sum][res];int ret=0,up_bound=(limit)?digit[len]:9;for(int i=0;i<=up_bound;++i)ret+=dfs(len-1,sum+i,(res*10+i)%p,p,limit&&i==up_bound);return f[len][sum][res]=ret;
}
inline int solve(int n){int cnt=0,ret=0;while(n){digit[++cnt]=n%10;n/=10;}for(int p=1;p<=9*cnt;++p){//最多枚举到各位都是9memset(f,-1,sizeof(f));ret+=dfs(cnt,0,0,p,true);}return ret;
}
signed main(){scanf("%lld%lld",&a,&b);printf("%lld\n",solve(b)-solve(a-1));return 0;
}

转载于:https://www.cnblogs.com/JCNL666/p/10712036.html

【题解】 P4127 [AHOI2009]同类分布相关推荐

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

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

  2. P4127 [AHOI2009]同类分布

    链接:https://www.luogu.org/problemnew/show/P4127 题目描述 给出两个数 a,ba,b ,求出 [a,b][a,b] 中各位数字之和能整除原数的数的个数. 输 ...

  3. 洛谷 P4127 [AHOI2009]同类分布

    题意简述 求l~r之间各位数字之和能整除原数的数的个数. 题解思路 数位DP 代码 #include <cstdio> #include <cstring> typedef l ...

  4. P4127 [AHOI2009]同类分布(数位dp)

    洛谷传送门 文章目录 题目描述 解析 代码 题目描述 给出两个数a,b求出[a,b]中各位数字之和能整除原数的数的个数. 1<=a<=b<=1018 解析 容易想到数位dp 但本题的 ...

  5. [AHOI2009]同类分布

    题目描述 给出两个数a,b,求出[a,b]中各位数字之和能整除原数的数的个数. 输入格式 一行,两个整数a和b 输出格式 一个整数,表示答案 输入输出样例 输入 #1 10 19 输出 #1 3 说明 ...

  6. bzoj 1799: [Ahoi2009]self 同类分布(数位DP)

    1799: [Ahoi2009]self 同类分布 Time Limit: 50 Sec  Memory Limit: 64 MB Submit: 1358  Solved: 592 [Submit] ...

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

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

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

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

  9. ANOI 2009 【同类分布】

    好累啊啊啊~~~~~~,刷了一天的题了,嗯,再写两篇题解我就去颓Slay... 思路分析: 刚刚我们讲了数位DP,现在就感受一下吧.(其实我也就只敢做做安徽的题,四川的数位DP想都不敢想) 嗯好,我们 ...

最新文章

  1. LabVIEW仪表盘识别(实战篇—6)
  2. “编程能力差的程序员,90%会输在这点上”谷歌AI专家:其实都是瞎努力
  3. hdu3037 Saving Beans
  4. 测试驱动的面向对象软件开发(china-pub首发)
  5. BoltDB 一个简单的纯 Go key/value 存储 [译]
  6. 操作系统进程同步之吸烟者问题,C语言实现
  7. 博士申请 | 阿尔伯塔大学招收人工智能方向全奖博士生、硕士生
  8. 深度学习的坎坷六十年:从感知机到Transformer...
  9. 网页中实现图片的毛玻璃效果
  10. SIM卡中的ef文件介绍
  11. 儿子于靖洋的百天照片
  12. 数据仓库、数据集市、数据湖,你的企业更适合哪种数据管理架构?
  13. python或c++编写一个文件传输工具
  14. 使用基于注意力的编码器-解码器实现医学图像描述
  15. 金融行业云都有什么需求
  16. CPU负载很低,loadavg很高处理方法
  17. 最新版ios权限描述文字plist的权限描述文字短语-定期更新
  18. 芜湖市中专计算机考证英文名
  19. 【IC选型 2】运算放大器选型的注意事项,运算放大器的轨到轨什么意思
  20. 华为mate 30 安装时提示安装包解析失败

热门文章

  1. Linux之间配置SSH互信(SSH免密码登录)
  2. cookie session token 之间的区别
  3. Android-标题状态栏的隐藏
  4. PHP curl get post通用类
  5. Windows Phone 7 开发 31 日谈——第25日:外部API
  6. ASP.NET 安全认证
  7. 浏览器停止加载页面内容
  8. (1)FPGA介绍(第1天)
  9. (22)Verilog HDL结构:function语句
  10. FPGA复位激励编写(方法一)