题目描述 这是 LeetCode 上的 1012. 至少有 1 位重复的数字 ,难度为 困难。 Tag : 「动态规划」、「数位 DP」、「容斥原理」 给定正整数 $n$,返回在 $[1, n]$ 范
原创
2022-05-20 22:33:06
775阅读
不要62
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
原创
2022-08-12 09:19:25
59阅读
/*题意:求出p-q的第j个nya数数位dp,求出p-q的所有nya数的个数很好求,但是询问求出最终那个第j个值时是我不会求了看了下别人的思路具体就是把p-q的第j个转化成0-q的第low+j个(其中low为小于等于p的nya数)枚举q的每一位数字,枚举位数值并进行比较直至求出每一位的值。经典好题,...
转载
2014-10-04 21:15:00
28阅读
#include<iostream>#include<cstring>#include<vector>using namespace std;const int N=11;int f[N][N][110];int p;void init(){ for(int i=0;i<=9;i++) f[1][i][...
原创
2021-07-09 13:54:52
223阅读
M - windy数 这个数位dp还比较明显,而且也比较好写,不过还是被我写搓了,伤心ing 这个数位dp,就是dp这个状态需要好好想想,还有就是这个前导0的问题,这个就是需要认真看题目。 我开始直接定义的一维dp,dp[i]定义为i位个数满足条件的数有多少 但是这个状态定义的是不完整的,因为第i位
转载
2019-05-29 20:22:00
176阅读
2评论
数位dp就是套模板 ——lwz dalao 模板 ( \(\text{dfs}\) 式数位 \(\text{DP}\) ): ll dfs(ll len,bool Limit,bool zero,ll …… ) // 其他各种条件 { if(len>w) return zero^1; // 注意!! ...
转载
2021-07-27 18:16:00
143阅读
2评论
#include <iostream>
const int N = 100;
#define int long long
int f[N][10][2];
bool ck(int x, int y) {
if (x < 0) return 1;
if (x + y< 2) return false;
x += y ;
原创
2022-08-16 14:52:34
58阅读
题目链接:http://acdreamoj.sinaapp.com/problem.php?id=1083没什么好说的,具体看代码吧。 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 using namespace std; 6 int dp[11][4];//0没有3和8,1只有3,2只有8,3有3和8 7 int digit[11]; 8 9 int dfs(int pos,int have,int doing){10 if(pos
转载
2013-05-21 10:10:00
103阅读
2评论
//hdu 2089 不要62 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 60338 Accepted Submission(s): 238
转载
2018-11-18 11:22:00
68阅读
2评论
数位DP的应用范围:在某个区间内,有多少个,满足一定的性质
原创
2023-01-07 16:40:55
125阅读
#include<bits/stdc++.h> #define N 22 #define M 11 #define db double #define ll long long #define ldb long double #define ull unsigned long long using ...
转载
2021-07-20 02:45:00
281阅读
2评论
数位dp 特点: 数据范围贼大 \(O(n)\) 算法绝对不行 看上去很套路,统计各种数在序列中出现的个数或者之类的。 引入: 数位 \(dp\) 解决的是什么问题呢? 一般来说:求出在给定区间中,符合条件 \(f(i)\) 的数 \(i\) 的个数,条件 \(f(i)\) 一般和数的大小没关系,和 ...
转载
2021-09-18 19:41:00
165阅读
2评论
数位DP 前导零 是否压位 例题: 不要62 题面: 求 a 到 b 中不含连续的 62 并且不含 4 的数。 做法: 记 \(g(x)\) 为 0 到 x 之间的 windy 数。 求 \(g(b)-g(a-1)\) 深搜,记长度 x ,上一个数 last,是否压界 k。 枚举此位放几,排除不合法 ...
转载
2021-10-02 15:41:00
139阅读
2评论
1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <algorithm> 5 6 using namespace std; 7 8 int t; 9 long long dp[19][19][2005]
转载
2017-08-08 17:01:00
200阅读
2评论
[HDU5564] Clarke and digits发现每一位转移都是一样的, 于是可以矩阵乘法, 把 f[Mod][pre] 压成 Mo
原创
2022-07-05 12:13:35
91阅读
一类问题的描述是:给你一个数字区间,问你区间中满足条件的数的个数。比如
原创
2022-08-18 07:39:40
1474阅读
通常的数位dp可以写成如下形式:int dfs(int i, int s, bool e)
转载
2023-03-03 14:03:34
96阅读
经典题型 数位 DP 问题往往都是这样的题型,给定一个闭区间 $[l, r]$,让你求这个区间中满足 某种条件 的数的总数。 强烈推荐 OI Wiki——数位DP 例题 BZOJ 1026 题目:windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 wi
转载
2019-08-13 17:36:00
131阅读
2评论
###模板题 【计数问题】 给定两个整数 a 和 b,求 a 和 b 之间的所有数字中 0∼9 的出现次数。 例如,a=1024,b=1032,则 a 和 b 之间共有 9 个数如下: 1024 1025 1026 1027 1028 1029 1030 1031 1032 其中 0 出现 10 次 ...
转载
2021-10-05 19:04:00
223阅读
2评论
如果以下错的地方,谢谢提出。1.HDU - 2089 不要62解题思路:这题的限制条件是不
原创
2023-04-07 13:27:17
29阅读