【HDOJ 3652】B-number
【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相关推荐
- 【HDOJ 5384】Danganronpa
[HDOJ 5384]Danganronpa AC自己主动机. .. 当时感觉用字典树 标神也往自己主动机想来着..手太生加上时间紧迫也没敲--回来一看题解什么AB同一时候建自己主动机...顿时愣了 ...
- 【HDOJ 4970】 Killing Monsters
[HDOJ 4970] Killing Monsters 数据很大 立马想预处理 每只怪物会从点x出现移动到点n(终点) 问能剩几只怪物 预处理求出每个位置到终点所受伤害 出现一只怪物直接判断死活即可 ...
- 【HDOJ 5399】Too Simple
[HDOJ 5399]Too Simple 函数映射问题 给出m函数 里面有0~m个函数未知(-1) 问要求最后1~n分别相应仍映射1~n 有几种函数写法(已给定的函数不可变 仅仅可更改未知的函数的映 ...
- 【CF#303D】Rotatable Number
[题目描述] Bike是一位机智的少年,非常喜欢数学.他受到142857的启发,发明了一种叫做"循环数"的数. 如你所见,142857是一个神奇的数字,因为它的所有循环排列能由它乘 ...
- 【网搜】禁止 number 输入非数字(Android仍有问题)
目的:使用 number 表单,让其只可输入数字. 问题:ios 可正常限制,Android 仍可输入 [ e | . | - | + ] 这4个字符.猜测这4个字符在数值中为科学记数.小数 ...
- 【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 ...
- 【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 ...
- 【HDU - 1266 】Reverse Number(模拟,数字分位数处理)
题干: Welcome to 2006'4 computer college programming contest! Specially, I give my best regards to all ...
- 【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 ...
最新文章
- OpenCV使用霍夫变换进行寻线的实例(附完整代码)
- 一对多分页查询mysql编写_一对多分页的SQL到底应该怎么写?
- [译] APT分析报告:08.漏洞利用图谱–通过查找作者的指纹来寻找漏洞
- 关于ViewGroup中requestDisallowInterceptTouchEvent的用法
- java udp ip端口 设置_UDP端口扫描Java只找到1个开放的UDP端口
- [css] css中padding和margin是相对于父元素还是子元素呢?
- 数据科学 IPython 笔记本 7.15 高性能 Pandas
- Qt_共享内存(QSharedMemory)未完成
- Spring Boot 之异步执行方法
- 解决Node.js 运行的时候出现中文乱码问题
- java跳转控制语句有哪些_Java语言基础学习之流程控制语句和跳转控制语句实例分析...
- iOS中关于文件操作
- lisp成套电气设计_针对电气成套行业的专业设计仿真软件
- 如何破解域管理员密码
- 使用PS改变背景为透明
- 用python实现人脸识别毕设_用Python实现一个简单的人脸识别,原来我和这个明星如此相似...
- 1-7 Burpsuite 爬虫介绍
- DeleteRow()
- 【MySQL】 锁机制:InnoDB引擎中锁分类以及表锁、行锁、页锁详解
- 【思维导图】她提出了“计算思维”,并解释我们为什么要学会跟机器对话 | 造访·周以真【整理自公众号:造就】