cychester

随笔分类 -  数位DP

Luogu2022 有趣的数-二分答案+数位DP
摘要:Solution 我好像写了一个非常有趣的解法233, 我们可以用数位$DP$ 算出比$N$小的数中 字典序比 $X$ 小的数有多少个, 再和 $rank$进行比较。 由于具有单调性, 显然可以二分答案。 Code 1 #include<cstdio> 2 #include<cstring> 3 # 阅读全文

posted @ 2018-10-18 10:18 cychester 阅读(292) 评论(2) 推荐(0)

BZOJ 1799 - [AHOI2009]self 同类分布 - 枚举 数位DP
摘要:Description 找出$[L, R]$ 区间内有多少数, 各位数字和 能整除原数 Solution 枚举每个可能的数字和, 进行数位DP即可 , 水爆 Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #de 阅读全文

posted @ 2018-09-15 08:17 cychester 阅读(181) 评论(0) 推荐(0)

BZOJ 3329 - Xorequ - 数位DP, 矩乘
摘要:Solution 发现 $x \ xor \ 2x = 3x$ 仅当 $x$ 的二进制中没有相邻的 $1$ 对于第一个问题就可以进行数位DP 了。 但是对于第二个问题, 我们只能通过递推 打表 来算出答案了。 推公式 打表 可知, 这是一个斐波那契数列, $a_0 = 1, a_1 = 2, a_2 阅读全文

posted @ 2018-09-15 07:45 cychester 阅读(120) 评论(0) 推荐(0)

BZOJ 3209 花神的数论题 - 数位DP
摘要:Solution 我的解法好像很不优美。。。 定义了$4$维数组$f[i][j][pre][k]$ 表示第$i$位, 有$j$个1, 当前位的数字为$pre$,是否比输入大$k$。。。然后进行$DP$即可 看到隔壁的$2$维很惭愧 Code 1 #include<cstdio> 2 #include 阅读全文

posted @ 2018-09-14 16:10 cychester 阅读(164) 评论(0) 推荐(0)

BZOJ 4521 [CQOI2016]手机号码 - 数位DP
摘要:Description 在$[L, R]$找出有几个数满足两个条件 : 1 : 不同时含有$4$ 和 $8$ 2 : 至少有$3$个相邻的数相同 Solution 非常容易的数位DP, $pos$ 为当前第几位, $ex$ 表示是否出现过$4$ 或 $8$, $pre$表示 前面的是几, $num$ 阅读全文

posted @ 2018-09-14 11:31 cychester 阅读(181) 评论(0) 推荐(0)

BZOJ 3131 [SDOI2013]淘金 - 数位DP
摘要:传送门 Solution 这道数位$DP$看的我很懵逼啊。。。 首先我们肯定要先预处理出 $12$位乘起来的所有的可能情况, 记录入数组 $b$, 发现个数并不多, 仅$1e4$不到。 然后我们考虑算出有多少的$x$ 使得$f(x) = y$, 并记录个数到$ans[y]$ 中。 然后? 然后我就不 阅读全文

posted @ 2018-09-13 19:29 cychester 阅读(307) 评论(1) 推荐(0)

BZOJ 1026 [SCOI2009]windy数 - 数位DP
摘要:Solution 数位DP板子套上就好了 讲解传送门 Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define rd read() 5 #define ll long long 6 using namesp 阅读全文

posted @ 2018-09-13 10:56 cychester 阅读(154) 评论(0) 推荐(0)

导航