cf 55D 数位dp 好题】的更多相关文章

/* 刚开始我考虑0的情况,想将他剔除就将lcmn设为-1,这样还要判断0和lcmn是-1的情况很麻烦而且但是一直出错 后来觉得不用管0的情况就行了,可以认为符合. 解:将lcmn离散化,因为1-9的公倍数必是2520的因子并且只有48个 所以用一个数组离散化,记忆的时候直接调用离散数组即可 因为一个数的所有数字的最小公倍数必定是2520的因子,所以将这个数对2520取余缩小范围并记忆 三维,第一个长度,第二个对2520取余,第三个是lcm值 */ #include<stdio.h> #inc…
http://acm.hdu.edu.cn/showproblem.php?pid=2089 题意:求区间内不包含4和连续62的数的个数. 思路: 简单的数位dp模板题.给大家推荐一个好的讲解博客.http://blog.csdn.net/mosquito_zm/article/details/75226543 #include<iostream> #include<algorithm> #include<cstring> #include<cstdio>…
题目链接: http://poj.org/problem?id=2117 题目大意:统计一个范围内数的个数,要求该数能被各位上的数整除.范围2^64. 解题思路: 一开始SB地开了10维数组记录情况. 首先要求能被各位上的数整除,可以转化为被一个数整除问题. 这个数就是各位上数的最小公倍数LCM(不是GCD). 其次,处理整除问题,得转化成数位DP的余数模板.1~9的LCM最大是2520, 那么%2520,让其可以开数组进行记忆化搜索. 最后, 对于不能%2520最后结果,再%各个数位累计过来的…
/* 题意:求出p-q的第j个nya数 数位dp,求出p-q的所有nya数的个数很好求,但是询问求出最终那个第j个值时是我不会求了看了下别人的思路 具体就是把p-q的第j个转化成0-q的第low+j个(其中low为小于等于p的nya数) 枚举q的每一位数字,枚举位数值并进行比较直至求出每一位的值. 经典好题,长见识了. */ #include<stdio.h> #include<string.h> #define ll __int64 #define N 21 ll dp[N][N…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 参考博客:https://www.cnblogs.com/HDUjackyan/p/9142156.html 说明,上面这篇博客已经可以很清楚地理解这道题目所表现得意思了.我这里是上述博客中的第一题. 这道题目呢我目前已经知道怎么做了,但是我还不能很好地做到用文字表述出来,所以大家可以试着看看我的代码,我也是通过看上面那篇博客的代码理解数位DP的思想的. 我在上面博客的代码中做了一些精简,省略…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2089 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理…
题意 对于每组数据给出一个整数n(length(n)<=100),找出不大于n的数字中有多少是Valley Numer.对于Valley的定义是它每一位的数字要么是递增,要么是递减,要么是先递减后递增 分析 选拔赛的时候遇到了数位dp,以前只是听说但是没学过今天就拿出来一天的时间学了一下数位DP. 我们发现单调递减变为单调递增合法,单调递增变为递减不合法,所以通过增减判断最多只有一个拐点.那么我们在dp的时候状态只要记录当前是递增还是递减就可以了. 我们用dp[p][pre][state]来进行…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 56193    Accepted Submission(s): 21755 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可…
不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 58665    Accepted Submission(s): 23095 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可…
数位DP是我的噩梦. 现在初三了,却没AC过数位DP的题目. 感觉数位DP都是毒瘤-- 题目 hdu不用登录也可以进去,所以就不把题目copy到这里来了. 题目大意 求区间[n,m][n,m][n,m]中,不含有444和626262的数的个数. 解析 数位DP的难点主要在于不能出界. 因为这个东西,我被卡了不知道多少年-- 先不要想出界,那么显然,状态可以这么设: 设fi,jf_{i,j}fi,j​表示做到第iii位,并且这一位为jjj的方案数. 方程显然 if (j!=4 && !(j=…