ACM数位动态规划
桑榆207
在最终的结果到来之前,任何肯定会赢之类的话都是虚无缥缈的。
展开
-
数位dp入门(不要62题目)
统计区间 [a,b] 中不含 4 和 62 的数字有多少个。#include<iostream>#include<cstdio>#include<cstring>using namespace std;int f[8][2],bit[8];/*f[i][j]:i是位数j==0,尾位不是6j==1,尾位是6*/int dfs(int...原创 2018-08-22 10:58:29 · 199 阅读 · 0 评论 -
牛客 处女座和小姐姐 数位dp
链接:https://ac.nowcoder.com/acm/contest/329/G来源:牛客网 题目描述经过了选号和漫长的等待,处女座终于拿到了给小姐姐定制的手环,小姐姐看到以后直呼666!处女座其实也挺喜欢6这个数字的,实际上他做手环的时候选取的k=6。所以他对于包含数码6的数字极其敏感。每次看到像4567这样的数字的时候他的心就像触电了一样,想起了小姐姐。现在你要给处...原创 2019-01-26 19:29:48 · 380 阅读 · 2 评论 -
数位dp入门(Amount of Degrees)
图片来源:https://wenku.baidu.com/view/d2414ffe04a1b0717fd5dda8.html Create a code to determine the amount of integers, lying in the set [X; Y] and being a sum of exactly K different integer degrees of B...原创 2018-09-05 14:59:46 · 304 阅读 · 0 评论 -
数位dp入门(含有49)
题意:1-n之间共有多少个含有49的数/*The counter-terrorists found a time bomb in the dust. But this time the terrorists improve on the time bomb. The number sequence of the time bomb counts from 1 to N. If the cur...原创 2018-09-08 11:14:42 · 232 阅读 · 0 评论 -
数位dp入门(第几个含有666的数)
求第n个含有666的数。#include<iostream>#include<math.h>#include<stdio.h>#include<algorithm>#include<string.h>#include<vector>#include<queue>#include<m原创 2018-09-08 09:28:59 · 356 阅读 · 0 评论 -
HDU 3555含有49(数位dp)
题目地址:HDU 3555题意: 问(0, n]里面有几个数有'49'这个子串#include <iostream>#include <cstring>#include <deque>#include <cmath>#include <queue>#include <stack>#include <li...原创 2018-08-21 21:10:11 · 138 阅读 · 0 评论 -
数位dp思想
<数位DP> 所谓数位DP就是基于考虑数字的每一位来转移的DP。 例如求比456小的数,可以这么考虑, 4 5 6 4 5 (0~6) 4 (0~4) (0~9) (0~3)(0~...转载 2018-08-21 20:53:48 · 158 阅读 · 0 评论 -
数位dp思想
一、基础篇——介绍 1、概念: 数位dp是一种计数用的dp,一般就是要统计一个区间 [A , B ] 内满足一些条件数的个数。 所谓数位dp,字面意思就是在数位上进行dp。 数位的含义:一个数有个位、十位、百位、千位......数的每一位就是数位啦! 之所以要引入数位的概念完全就是为了dp。数位dp的实质就是 换一种暴力枚举的方式,使得新...转载 2018-08-21 09:42:38 · 203 阅读 · 0 评论 -
数位dp入门(HDU - 5642 King's Order)
题意:告诉你国王发布的命令长度为n,由26个小写英文字母组成,命令中不能有连续的长度超过3个的重复的字母,比如aaccc是可以的但acccc是不可以的。问最多有多少种不同的命令是国王发出的,结果对1000000007取模。dp[i][1]表示长度为i,末尾有j个相同的字母,由题意知,j只能取1,2,3.dp[i][2]=dp[i-1][1]dp[i][3]=dp[i-1][2]...原创 2018-08-23 21:06:50 · 147 阅读 · 0 评论 -
数位dp大体模板(含13且是13倍数的数)
模板:https://blog.csdn.net/wust_zzwh/article/details/52100392typedef long long ll;int a[20];ll dp[20][state];//不同题目状态不同ll dfs(int pos,/*state变量*/,bool lead/*前导零*/,bool limit/*数位上界变量*/)//不是每个题都要判断前导...原创 2018-08-20 20:32:25 · 324 阅读 · 0 评论 -
数位dp入门(13倍数且含13)
hdu 3652 B-number 题意:求小于n,是13的倍数且含有’13’的数的个数。n<1e9#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>using namespace std;const int N=15;int bit[...原创 2018-08-23 15:52:59 · 515 阅读 · 0 评论 -
不要62(数位dp普通写法和模板写法)
多组数据,每次给定区间[n,m],求在n到m中没有“62“或“4“的数的个数。如62315包含62,88914包含4,这两个数都是不合法的。0<n<=m<1000000//https://blog.csdn.net/zhangxian___/article/details/75304335假设我们现在把x分成了a1,a2,...,aL这样一个数组,长度为L,aL是最高...原创 2018-08-20 16:43:48 · 3941 阅读 · 1 评论 -
数位dp入门(1比0多+前导零问题)
题意:求一个区间内满足化为二进制后0多于1的数的数量#pragma comment(linker, "/STACK:10240000,10240000")#include<iostream>#include<cstdio>#include<cstring>#include<string>#include<queue>#i...原创 2018-08-23 11:04:16 · 663 阅读 · 0 评论 -
数位dp入门(HDU 4734)
题目给了个f(x)的定义:F(x) = An * 2n-1 + An-1 * 2n-2 + ... + A2 * 2 + A1 * 1,Ai是十进制数位,然后给出a,b求区间[0,b]内满足f(i)<=f(a)的i的个数#include<cstdio>#include<cstring>#include<iostream>#include<...原创 2018-08-23 09:45:51 · 198 阅读 · 0 评论 -
数位dp入门(不含49)
给一个数字n,范围在1~2^63-1,求1~n之间含有49的数字有多少个。思想:总数-不含49的数;#include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>#include<cstring>#include<algorithm>...原创 2018-08-22 11:43:55 · 289 阅读 · 0 评论 -
HDU--Faulty Odometer--数位DP
Faulty Odometer Time Limit: 2000/1000 MS (Java/Others)Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2328Accepted Submission(s): 1601 Problem Description ...原创 2019-08-27 20:39:22 · 132 阅读 · 0 评论