【HDOJ 3652】B-number

给一整数n 找<=n的整数中能被13整除且含有13的 数位dp 记忆化!


一入记忆化深似海。

。。再也不想用递推了。。。发现真的非常好想 仅仅要保证满足条件把未选高位(即能任意挑数的)记录下来 不断搜索递归即可

代码例如以下:

#include <iostream>
#include <cstdio>
#include <cstring>using namespace std;int dp[10][13][3];
int digit[10];/*
hs =
0 无13
1 无13 前位为1
2 出现13
mod表示高位取余后的结果 遍历完后mod == 0说名能被13整除 按位取余
*/int dfs(int pos,int mod,int hs,bool high)
{if(pos == -1) return hs == 2 && !mod;if(!high && ~dp[pos][mod][hs]) return dp[pos][mod][hs];int i,en,ans = 0,nhs,nmd;en = high? digit[pos]: 9;for(i = 0; i <= en; ++i){nmd = (mod*10+i)%13;nhs = hs;if(nhs == 1 && i == 3) nhs = 2;else if(nhs != 2) nhs = (i == 1)? 1: 0;ans += dfs(pos-1,nmd,nhs,high && i == en);}if(!high) dp[pos][mod][hs] = ans;return ans;
}int Solve(int x)
{int len = 0;while(x){digit[len++] = x%10;x /= 10;}return dfs(len-1,0,0,1);
}int main()
{memset(dp,-1,sizeof(dp));int n;while(~scanf("%d",&n)) printf("%d\n",Solve(n));return 0;
}

【HDOJ 3652】B-number相关推荐

  1. 【HDOJ 5384】Danganronpa

    [HDOJ 5384]Danganronpa AC自己主动机. .. 当时感觉用字典树 标神也往自己主动机想来着..手太生加上时间紧迫也没敲--回来一看题解什么AB同一时候建自己主动机...顿时愣了 ...

  2. 【HDOJ 4970】 Killing Monsters

    [HDOJ 4970] Killing Monsters 数据很大 立马想预处理 每只怪物会从点x出现移动到点n(终点) 问能剩几只怪物 预处理求出每个位置到终点所受伤害 出现一只怪物直接判断死活即可 ...

  3. 【HDOJ 5399】Too Simple

    [HDOJ 5399]Too Simple 函数映射问题 给出m函数 里面有0~m个函数未知(-1) 问要求最后1~n分别相应仍映射1~n 有几种函数写法(已给定的函数不可变 仅仅可更改未知的函数的映 ...

  4. 【CF#303D】Rotatable Number

    [题目描述] Bike是一位机智的少年,非常喜欢数学.他受到142857的启发,发明了一种叫做"循环数"的数. 如你所见,142857是一个神奇的数字,因为它的所有循环排列能由它乘 ...

  5. 【网搜】禁止 number 输入非数字(Android仍有问题)

    目的:使用 number 表单,让其只可输入数字. 问题:ios 可正常限制,Android 仍可输入  [ e | . |  - |  + ]   这4个字符.猜测这4个字符在数值中为科学记数.小数 ...

  6. 【HDU - 2665】Kth number(区间第K大,主席树,模板)

    题干: Give you a sequence and ask you the kth big number of a inteval. Input The first line is the num ...

  7. 【HDU - 6231】K-th Number(二分,思维)

    题干: Alice are given an array A[1..N]A[1..N] with NN numbers. Now Alice want to build an array BB by ...

  8. 【HDU - 1266 】Reverse Number(模拟,数字分位数处理)

    题干: Welcome to 2006'4 computer college programming contest! Specially, I give my best regards to all ...

  9. 【LeetCode 871】 Minimum Number of Refueling Stops

    题目描述 A car travels from a starting position to a destination which is target miles east of the start ...

最新文章

  1. OpenCV使用霍夫变换进行寻线的实例(附完整代码)
  2. 一对多分页查询mysql编写_一对多分页的SQL到底应该怎么写?
  3. [译] APT分析报告:08.漏洞利用图谱–通过查找作者的指纹来寻找漏洞
  4. 关于ViewGroup中requestDisallowInterceptTouchEvent的用法
  5. java udp ip端口 设置_UDP端口扫描Java只找到1个开放的UDP端口
  6. [css] css中padding和margin是相对于父元素还是子元素呢?
  7. 数据科学 IPython 笔记本 7.15 高性能 Pandas
  8. Qt_共享内存(QSharedMemory)未完成
  9. Spring Boot 之异步执行方法
  10. 解决Node.js 运行的时候出现中文乱码问题
  11. java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...
  12. iOS中关于文件操作
  13. lisp成套电气设计_针对电气成套行业的专业设计仿真软件
  14. 如何破解域管理员密码
  15. 使用PS改变背景为透明
  16. 用python实现人脸识别毕设_用Python实现一个简单的人脸识别,原来我和这个明星如此相似...
  17. 1-7 Burpsuite 爬虫介绍
  18. DeleteRow()
  19. 【MySQL】 锁机制:InnoDB引擎中锁分类以及表锁、行锁、页锁详解
  20. 【思维导图】她提出了“计算思维”,并解释我们为什么要学会跟机器对话 | 造访·周以真【整理自公众号:造就】

热门文章

  1. 制药行业验证过程中的偏差如何处理?
  2. 语言模型GPT跨界CV,OpenAI揭示强算力Transformer具有通用性
  3. SAP MM 标准的采购订单预付款功能介绍
  4. GPT-2:OpenAI的NLP商业化野望
  5. 科大讯飞与优刻得、寒武纪等联合设立合肥智能语音创新发展有限公司
  6. AI 产品经理:别让你的智能对话产品变“智障”
  7. 5分钟带你读懂“语音识别”工作原理
  8. 披上AI战衣的中国APP,正在让印度节节败退
  9. Tensorflow—CNN应用于MNIST数据集分类
  10. 牛顿法求解非线性方程的根