HDU3652 数位DP 记忆化搜索
来源:互联网 发布:淘宝秒杀群怎么找人 编辑:程序博客网 时间:2024/06/05 21:15
Problem Description
A wqb-number, or B-number for short, is a non-negative integer whose decimal form contains the sub- string "13" and can be divided by 13. For example, 130 and 2613 are wqb-numbers, but 143 and 2639 are not. Your task is to calculate how many wqb-numbers from 1 to n for a given integer n.
Input
Process till EOF. In each line, there is one positive integer n(1 <= n <= 1000000000).
Output
Print each answer in a single line.
Sample Input
131002001000
Sample Output
1122
题意:找出1~n范围内含有13并且能被13整除的数字的个数
/*** hdu 3652 数位dp(含13且被能被13整除的数) 题目大意:求出给定区间内的数字含有“13”并且能被13整除的个数 解题思路:记忆化搜索。 dp[i][j][k][z]:i:处理的数位,j:该数对13取模以后的值,k:是否已经包含13,z结尾的数 */ #include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> using namespace std; int dp[10][15][2][10],bit[10]; int dfs(int pos,int mod,int t,int now,int flag) { if(pos==-1)return mod==0&&t; if(!flag&&dp[pos][mod][t][now]!=-1)return dp[pos][mod][t][now]; int end=flag?bit[pos]:9; int ans=0; for(int i=0;i<=end;i++) { ans+=dfs(pos-1,(mod*10+i)%13,t||(now==1&&i==3),i,flag&&(i==end)); } if(!flag)dp[pos][mod][t][now]=ans; return ans; } int solve(int n) { int len=0; while(n) { bit[len++]=n%10; n/=10; } return dfs(len-1,0,0,0,1); } int main() { int n; memset(dp,-1,sizeof(dp)); while(~scanf("%d",&n)) { printf("%d\n",solve(n)); } return 0; }
阅读全文
0 0
- 数位DP与记忆化搜索-HDU3652
- HDU3652 数位DP 记忆化搜索
- hdu3652(记忆优化,数位dp)
- hdu3555(数位dp记忆化搜索)
- codeforces (数位dp 记忆化搜索)
- hdu 5179 数位dp+记忆化搜索
- 数位DP的记忆化搜索形式
- NUBT1475 数位dp(记忆化搜索)
- 【HDU3555】Bomb【数位DP】【记忆化搜索】
- hdu3555Bomb(数位dp&&记忆化搜索)
- hdu3709Balanced Number【数位dp记忆化搜索】
- hdu_3562_B-number(记忆化搜索|数位DP)
- hihocoder 1103 数位dp+记忆化搜索
- hdu 5898 数位dp,记忆化搜索
- HDU3652_B-number_数位DP&记忆化搜索
- 浅谈数位DP的记忆化搜索
- hdu3652 数位dp
- hdu3652(数位DP)
- 2017年南宁网络赛 L 题 【最长非递减序列 + 思维】
- c++ 合并两个无序顺序表使其仍无序
- 奶牛送苹果
- JSON入门Java篇-2-JSON数据类型
- 路径
- HDU3652 数位DP 记忆化搜索
- 使用playframework连接MySql
- NOIP1998提高组 车站
- java异常处理
- Git安装与配置
- 第3周项目4(2)- 顺序表应用
- PHP文件上传学习(单文件,ajax无刷新方式)
- 刚开始熟悉STM32定时器
- 训练集---本周总结