![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数位dp
mmk27
这个作者很懒,什么都没留下…
展开
-
CodeForces - 1036C Classy Numbers 数位dp
题目链接:https://cn.vjudge.net/problem/CodeForces-1036C题意:多少数1-9的数字不超过3个题解:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll dp[22][4];int w[22], len;ll dfs(int pos, in...原创 2019-08-12 20:28:22 · 120 阅读 · 0 评论 -
CodeForces - 55D Beautiful numbers 数位dp
题目链接:https://cn.vjudge.net/problem/CodeForces-55D#author=0题意:有多少数,满足是每一位数的倍数题解:1-9的最小公倍数为2520,1-9最小公倍数的形成的种数48种,所以对于每个形成的lcm需要重新编号一下dp[ i ][ j ][ k ] 表示还剩 i位,前面的余数是j,lcm是k的数目#include <bits...原创 2019-08-12 20:21:30 · 92 阅读 · 0 评论 -
SPOJ - BALNUM Balanced Numbers 数位dp
题目链接:https://vjudge.net/problem/SPOJ-BALNUM题意:每个数字要么没有,要么 奇数出现偶数次,偶数出现奇数次题解:因为每个数的数目还可以为0,所以对于一个树来说有3个状态,所以我们可以对于每个数3进制记录一下,0表示没有1表示奇数个2表示偶数个,dp[ i ][ j ]就表示后面还剩 i位,前面状态是 j ,总共的数目注意一点的就是如果前面都是0的...原创 2019-08-11 22:46:01 · 160 阅读 · 0 评论 -
HDU - 4507 吉哥系列故事——恨7不成妻 数位dp
题目链接:https://cn.vjudge.net/problem/HDU-4507 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 7+7=7*2 77=7*11 最终,他发现原来这一切归根到底都是因...原创 2019-08-11 20:50:52 · 270 阅读 · 0 评论 -
HDU - 4734 F(x) 数位dp
题目链接:https://cn.vjudge.net/problem/HDU-4734#author=Dillydally题意:我们定义十进制数x的权值为f(x) = a(n)*2^(n-1)+a(n-1)*2(n-2)+...a(2)*2+a(1)*1,a(i)表示十进制数x中第i位的数字。 题目给出a,b,求出0~b有多少个不大于f(a)的数。题解:dp[ i ][ j ] 后面...原创 2019-08-11 17:25:07 · 121 阅读 · 0 评论 -
HDU - 3652 B-number 数位dp
题目链接:https://cn.vjudge.net/problem/HDU-3652题意:1 - n是13的倍数并且有13的个数题解:dp[ i ][ j ][ k ][ z ] 还剩下 i 为,前面和是sum,前一位是k,z表示之前是否出现过13的个数#include <bits/stdc++.h>using namespace std;int dp[15][15...原创 2019-08-11 16:48:41 · 107 阅读 · 0 评论 -
HDU - 3709 Balanced Number 数位dp
题目链接:https://vjudge.net/problem/HDU-3709题意:有多少平衡数,例如:4139 is a balanced number with pivot fixed at 3. The torqueses are 4*2 + 1*1 = 9 and 9*1 = 9,题解:所以每个数的平衡位置只能有一个dp[ i ][ j ][ k ][ z ] 表示 平衡位置...原创 2019-08-11 16:31:27 · 93 阅读 · 0 评论 -
POJ - 3252 Round Numbers 数位dp
题目链接:https://vjudge.net/problem/POJ-3252题意:l - r 二进制 0 数目大于等于 1的数目 的数量题解:dp[ i][j ][k ] 表示还剩 i 位,前面 0 的数目+ 32 - 1的数目为j, k表示前面是否全为0#include <iostream>#include <cstdio>#include <...原创 2019-08-11 15:46:27 · 92 阅读 · 0 评论 -
HDU - 3555 Bomb 数位dp
题目链接:https://vjudge.net/problem/HDU-3555题意:1-n有多少有49的题解:dp[i][j][k] 表示还剩i位,前一位是否为4,前面是否已经有49了的个数#include <bits/stdc++.h>using namespace std;typedef long long ll;ll dp[66][2][2];int w[...原创 2019-08-11 15:25:18 · 116 阅读 · 0 评论 -
HDU - 2089 不要62 数位dp
题目链接:https://vjudge.net/problem/HDU-2089题意:[l ,r] 有多少不含62 和 4 的数题解:dp[i][j] 表示后面还剩 i 位 前一位是否为6的数目#include <bits/stdc++.h>using namespace std;int dp[10][2], w[10];int dfs(int pos, int l...原创 2019-08-11 15:05:53 · 214 阅读 · 0 评论 -
HDU - 4352 XHXJ's LIS 数位dp 二进制存状态 LIS
题目链接:点击查看题意:l - r 中有多少 最长上升序列为k的个数 不要求连续题解:因为这个k并不大,所以我们可以想到用二进制来储存,我们再求一般的最长上升子序列时,是先保存在一个数组中,遇到一个数在替换数组中大于等于他的第一个数,如果没有,就直接加到后面,最后的数组长度即为最长上升子序列的长度,通过这个题来用二进制解决,0-9 我们用二进制的每一位来储存,遇到一个数x,在判断x-...原创 2019-03-14 16:03:01 · 131 阅读 · 0 评论 -
HDU - 4389 X mod f(x) 数位dp
题目链接:点击查看Here is a function f(x): int f ( int x ) { if ( x == 0 ) return 0; return f ( x / 10 ) + x % 10; } Now, you want to know, in a given interval [A, B] (1 <= A &l...原创 2019-01-29 17:12:31 · 214 阅读 · 0 评论 -
HDU - 4722 Good Numbers 数位dp
If we sum up every digit of a number and the result can be exactly divided by 10, we say this number is a good number. You are required to count the number of good numbers in the range from A to B, i...原创 2018-11-22 17:27:49 · 178 阅读 · 0 评论 -
HDU - 6156 Palindrome Function 数位dp
题目链接:https://vjudge.net/problem/HDU-6156题意:区间[L, R]的数,写成k进制(l<=k<=r)后,如果是回文串,那么f(x,k)=k,否则f(x,k)=1,对f求和题解:一看这种题就是数位dp,当时想的时候认为,因为要求是回文串,所以前面的数是什么对后面是有影响的,所以就不知道怎么处理了,后来一想,在没有限制的情况下,后面的数是随便取的...原创 2019-09-27 15:33:37 · 175 阅读 · 0 评论