zl程序教程

hdu 3652数位dp

  • hdu 3709 Balanced Number(平衡数)--数位dp

    hdu 3709 Balanced Number(平衡数)--数位dp

    Balanced Number Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 9036    Accepted Submission(s): 4294 P

    日期 2023-06-12 10:48:40     
  • hdu2089---不要62(数位DP)

    hdu2089---不要62(数位DP)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 62279    Accepted Submission(s): 24682 Problem Des

    日期 2023-06-12 10:48:40     
  • HDU 3943 K-th Nya Number(数位DP)

    HDU 3943 K-th Nya Number(数位DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3943 题目大意:求出区间 (P,Q] 中找到第K个满足条件的数,条件是该数包含X个4和Y个7 Sample Input 1 38 400 1 1 10 1 2 3 4 5 6 7 8 9 10   Sample Output Case #1: 47 74 1

    日期 2023-06-12 10:48:40     
  • HDU 2089 不要62(数位DP)

    HDU 2089 不要62(数位DP)

    不要62 Problem Description 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer)。杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士司机和乘客的心理障碍,更安全地服务大众。不吉利的数字为所有含有4或62的号码。例如:62315 73418 88914都属于不吉利号码。但是,61152虽然含有6和2,但

    日期 2023-06-12 10:48:40     
  • HDU 3555 Bomb (数位DP)

    HDU 3555 Bomb (数位DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 题目大意:从0开始到给定的数字N所有的数字中遇到“49”的数字的个数。 Sample Input 3 1 50 500   Sample Output 0 1 15 Hint From 1 to 500, the numbers that include the sub-se

    日期 2023-06-12 10:48:40     
  • hdu  3652数位dp

    hdu 3652数位dp

    /* 数位dp 题意:找到1-n之间包括13这个子串而且可以整除13的数 解:刚開始dp[N][N][2]这里的2用来记录是否为13表示当前位是否为13,我把上一位为1当前位为13和上一位部位1 这样的情况在数组中没有记录。 */ #include<stdio.h> #include<string.h> #define N 14 int dp[N][N][3]; in

    日期 2023-06-12 10:48:40     
  • HDU 4389——X mod f(x)(数位DP)

    HDU 4389——X mod f(x)(数位DP)

    X mod f(x) Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description H

    日期 2023-06-12 10:48:40     
  • hdu  2089  不要62(数位DP)

    hdu 2089 不要62(数位DP)

    不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 20166    Accepted Submission(s): 6911 Problem

    日期 2023-06-12 10:48:40     
  • hdu 3555 Bomb(数位dp)

    hdu 3555 Bomb(数位dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 题目大意:就是给你一个数n,推断从0到n有多少个数含有数字49.。。。。。             是不是认为跟hdu2089非常相似呀。。。 思路:跟hdu2089一样的,注意给出的数比較大,所以这儿用__int64 &nb

    日期 2023-06-12 10:48:40     
  • hdu 3555 Bomb 【数位DP】

    hdu 3555 Bomb 【数位DP】

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3555 题意:上一题是不要62 这个是“不要49” 代码: #include <stdio.h> #include <ctime> #include <math.h> #include <limits.h> #include &

    日期 2023-06-12 10:48:40     
  • 【HDU3652】B-number 数位DP

    【HDU3652】B-number 数位DP

      B-number 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 ar

    日期 2023-06-12 10:48:40     
  • HDU 6156 Palindrome Function (数位DP)

    HDU 6156 Palindrome Function (数位DP)

    题意:给定上 l,r,a, b,让你求从 l 到 r 这个区间内的在a进制到b进制如果是回文数就加上该进制的大小,如果不是,那么就加上1. 析:数位DP。 dp[i][j][k] 表示 i 进制下,前 j 位,回文串的长度是k有多少个,然后统计完后,再乘以进制即可,最后再加上那些不是回文。 但是好像跑的有点慢,3700ms多,不知道什么情况。。。 代码如下: #pragma comment(l

    日期 2023-06-12 10:48:40     
  • HDU 6148 Valley Numer (数位DP)

    HDU 6148 Valley Numer (数位DP)

    题意:。。。 析:好久没写数位DP了,几乎就是不会了。。。。 dp[i][last][s] 表示前 i 位上一位是 last,当前的状态是 s,0表示非上升,1 表示非下降,然后就很简单了,只有 0 能转成 1,1就是最后的状态。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio&

    日期 2023-06-12 10:48:40     
  • HDU 4352 XHXJ's LIS (数位DP+LIS+状态压缩)

    HDU 4352 XHXJ's LIS (数位DP+LIS+状态压缩)

    题意:给定一个区间,让你求在这个区间里的满足LIS为 k 的数的数量。 析:数位DP,dp[i][j][k] 由于 k 最多是10,所以考虑是用状态压缩,表示 前 i 位,长度为 j,状态为 k的数量有多少,再结合nlogn的LIS, 就能搞定这个题目了。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #includ

    日期 2023-06-12 10:48:40     
  • HDU 4734 F(x) (数位DP)

    HDU 4734 F(x) (数位DP)

    题意:给定 F(x)的不表达,给定一个 n 问 1- n中有多少数是小于等于 F(m)的。 析:dp[i][j] 表示前 i 位不大于 j 个的数量。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include <

    日期 2023-06-12 10:48:40     
  • HDU 4389 X mod f(x) (数位DP)

    HDU 4389 X mod f(x) (数位DP)

    题意:求一个区间内各位数字之和能被该数整除的个数。 析:数位DP,dp[i][j][k][l] 表示前 i 位和为 j,对 k 取模为 l,然后就好做了。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include &

    日期 2023-06-12 10:48:40     
  • HDU 5898 odd-even number (数位DP)

    HDU 5898 odd-even number (数位DP)

    题意:给定一个区间,统计连续是奇数的个数是偶数,连续是偶数的个数是奇数的个数。 析:dp[i][j][k] 表示前 i 位,前一位是 j ,连续 k 次。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #include <string> #include &

    日期 2023-06-12 10:48:40     
  • HDU 3709 Balanced Number (数位DP)

    HDU 3709 Balanced Number (数位DP)

    题意:找出区间内平衡数的个数,所谓的平衡数,就是以这个数字的某一位为支点,另外两边的数字大小乘以力矩之和相等,即为平衡数。 析:数位DP,dp[i][[j][k]表示 前 i 位以 j 为支点,还差 k 平衡,枚举 j 就好。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio>

    日期 2023-06-12 10:48:40     
  • HDU 3652 B-number (数位DP)

    HDU 3652 B-number (数位DP)

    题意:给定一个数 n,求1-n之间有多少个包含13,并且是13的倍数的数。 析:数位DP,dp[i][j][k],表示前 i 位,模13余数为 j,k = 0,表示不含 13并且前一位不是1,k = 1,表示不含13但前一位是1,k = 2, 表示含13,那么剩下的就简单了。 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000

    日期 2023-06-12 10:48:40     
  • HDU 3555 Bomb (数位DP)

    HDU 3555 Bomb (数位DP)

    题意:给定一个数,让你求从1到这个数的所有数字中含49的数字数量。 析:看到这一个题,首先想到的就是暴力,可是,我一看数的大小就放弃了,2^63-1。。。 还是问学长吧,学长说数位DP,听他说了好久,才明白,好复杂啊,在这里分享一下。 这是我参考的博客网址:http://www.cnblogs.com/liuxueyang/archive/2013/04/14/3020032.html d[i]

    日期 2023-06-12 10:48:40     
  • HDU 2089 不要62 (递推+暴力或者数位DP)

    HDU 2089 不要62 (递推+暴力或者数位DP)

    题意:中文题。 析:暴力先从1到1000000,然后输出就好了。 代码如下: #include <iostream> #include <cstdio> #include <cstring> #include <map> #include <string> #include <queue> using namespace

    日期 2023-06-12 10:48:40     
  • 【HDU-6148】 Valley Numer(数位dp)

    【HDU-6148】 Valley Numer(数位dp)

    百度之星2017复赛1005 HDU-6148 Valley Numer 题意 不出现上升后直接下降数位的数,不超过n的有几个。前导零不算。 题解 dfs(当前数位的位置len,这位的数num,是否在上升up,是否有限制limit) limit不用存到状态里,因为limit为true时不可能访问两次。 num=-1代表还没开始这个数的第一位,前面是前导零。 up=1时,不允许下降。 代码 #in

    日期 2023-06-12 10:48:40     
  • hdu  4734   数位dp

    hdu 4734 数位dp

    /* 数位dp,记忆化搜索写法 注意memset(dp,-1,sizeof(dp))是放在外面的,这样保证每次搜索时存的值满足下一次也能够用; 假设放在里面就会超时 每一个长度有10000种状态 */ #include<stdio.h> #include<string.h> #define N 20 int len,digit[N],dp[N][10000]; in

    日期 2023-06-12 10:48:40     
  • HDU2089 ------不要62(数位dp)

    HDU2089 ------不要62(数位dp)

     不要62 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 26083    Accepted Submission(s): 9085 数

    日期 2023-06-12 10:48:40     
  • hdu2089(数位dp)

    hdu2089(数位dp)

    题意:求区间内不含62和4的数的个数; 解法:数位dp。int dfs(int pos,int pre,bool limit,bool have)。pos表示dp到的数位位置,pre表示前一个数位的数字。limit表示到此时数是否有下降(此位取数字是否受限制的意思),have表示之前是否有62;4的排除是靠在每次枚举下一位i时不取4就可以;每一个case的dp值都是一样的,所以仅仅须要计

    日期 2023-06-12 10:48:40     
  • 【hdu2089】不要62  数位dp

    【hdu2089】不要62 数位dp

    题目描述 求 $[n,m]$ 内不包含数位串 “4” 和 “62” 的数的个数。 输入 输入的都是整数对n、m(0<n≤m<1000000),如果遇到都是0的整数对,则输入结束。 输出 对于每个整数对,输出一个不含有不吉利数字的统计个数,该数值占一行位置。 样例输入 1 1000 0 样例输出 80 题解 数位dp 设 $f[i][j]$ 表示 $i$ 位数,最高位为 $j$ ,且

    日期 2023-06-12 10:48:40     
  • 【hdu4507】吉哥系列故事——恨7不成妻  数位dp

    【hdu4507】吉哥系列故事——恨7不成妻 数位dp

    题目描述 求 $[L,R]$ 内满足:数位中不包含7、数位之和不是7的倍数、本身不是7的倍数 的所有数的平方和 mod $10^9+7$ 。 输入 输入数据的第一行是case数T(1 <= T <= 50),然后接下来的T行表示T个case;每个case在一行内包含两个正整数L, R(1 <= L <= R <= 10^18)。 输出 请计算[L,R]中和7无关的数

    日期 2023-06-12 10:48:40     
  • 【hdu4734】F(x)  数位dp

    【hdu4734】F(x) 数位dp

    题目描述 对于一个非负整数 $x=​​\overline{a_na_{n-1}...a_2a_1}$ ,设 $F(x)=a_n·2^{n-1}+a_{n-1}·2^{n-2}+...+a_2·2^1+a_1·2^0=\sum\limits_{i=1}^na_i·2^{i-1}$  多次询问 $[0,B]$ 区间内 $F$ 值小于等于 $F(A)$ 的数的个数。 输入 The

    日期 2023-06-12 10:48:40     
  • 【hdu3555】Bomb  数位dp

    【hdu3555】Bomb 数位dp

    题目描述 求 1~N 内包含数位串 “49” 的数的个数。 输入 The first line of input consists of an integer T (1 <= T <= 10000), indicating the number of test cases. For each test case, there will be an integer N (1 <=

    日期 2023-06-12 10:48:40