
动态规划-数位DP
Rain722
这个作者很懒,什么都没留下…
展开
-
HDU4507吉哥系列故事——恨7不成妻(数位dp)
题目链接:点击打开链接题意:求区间[l,r]内所有与7无关的数的平方和(取模)定义与7无关的数: 1.数字的数位上不能有7 2.数字的数位和不能是7的倍数 3原创 2017-01-26 22:34:18 · 566 阅读 · 0 评论 -
uva11400Lighting System Design(区间dp+贪心思想)
题目大意:有一个照明系统需要用到n种灯,每种灯的电压为V,电源费用K,每个灯泡费用为C,需要该灯的数量为L。注意到,电压相同的灯泡只需要共享一个对应的电源即可,还有电压低的灯泡可以被电压高的灯泡替代。为了节约成本,你将设计一种系统,使之最便宜。分析:这个问题有两个点需要注意: 1、 对于一种灯泡,要么全换,要么全不换。 证明: 设一种灯泡单价为p1,电池价格为k1,共需要L个,若把原创 2017-03-06 20:35:10 · 361 阅读 · 0 评论 -
HDU4719Oh My Holy FFF[线段树优化dp]
Oh My Holy FFFTime Limit: 5000/2500 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)Total Submission(s): 1074 Accepted Submission(s): 299Problem DescriptionN soldiers f原创 2017-04-18 15:50:47 · 492 阅读 · 0 评论 -
HDU5115Dire Wolf(区间DP)
题目大意:你是一个战士现在面对,一群狼,每只狼都有一定的主动攻击力和附带攻击力。你杀死一只狼。你会受到这只狼的(主动攻击力+旁边两只狼的附带攻击力)这么多伤害~现在问你如何选择杀狼的顺序使的杀完所有狼时,自己受到的伤害最小。(提醒,狼杀死后就消失,身边原本相隔的两只狼会变成相邻,而且不需要考虑狼围城环这种情况)思路:枚举区间内最后一个被杀的狼#includeusing n原创 2017-07-21 20:18:47 · 421 阅读 · 0 评论 -
POJ 3280Cheapest Palindrome(区间DP)
题意:给出一个由m中字母组成的长度为n的串,给出m种字母添加和删除花费的代价,求让给出的串变成回文串的代价。思路:dp[i][j]表示将[i,j]区间的字符串变成回文串的最小花费,然后又如下转移:如果s[i] == s[j] 那么 dp[i][i] = dp[i + 1][j - 1]否则 dp[i][j] = min(dp[i + 1][j]原创 2017-07-23 12:03:01 · 293 阅读 · 0 评论 -
POJ3252Round Numbers(数位DP)
题意:算出区间内二进制中0的个数大于等于1的个数的数字有多少个#include#include#include#includeusing namespace std;#define N 50int dp[N][N][N], bit[N];int dfs(int pos, int num0, int num1, bool pre, bool limit)原创 2017-09-06 20:07:03 · 328 阅读 · 0 评论 -
HDU4734 F(x)(数位DP)
F(x)Time Limit: 1000/500 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5850 Accepted Submission(s): 2208Problem DescriptionFor a decimal number x原创 2017-08-05 11:37:30 · 308 阅读 · 0 评论 -
HDU5898odd-even number(数位dp)
题意:给出一个区间[l, r],问其中数位中连续的奇数长度为偶数并且连续的偶数长度为奇数的个数。(1#includeusing namespace std;typedef long long ll;ll dp[25][25][2];//第一维表示长度、第二维表示连续长度、第三维是否存在前缀0int bit[25];// 第几位 前一个状态 连续长度 是否存在前缀0,原创 2017-07-06 11:02:29 · 275 阅读 · 0 评论 -
HDU2089不要62(数位DP入门)
首先附上一段大牛的精彩讲解:原文请点击此处:http://www.itdadao.com/articles/c15a541366p0.html数位DP其实是很灵活的,所以一定不要奢求一篇文章就会遍所有数位DP的题,这一篇只能是讲清楚一种情况,其他情况遇到再总结,在不断总结中慢慢体会这个思想,以后说不定就能达到一看到题目就能灵活运用的水平。(其实DP都是这样……)这一篇要原创 2017-01-23 23:16:00 · 747 阅读 · 0 评论 -
HDU3555Bomb数位DP入门题
题意:求1~n的范围内含有49的数字的个数思路一:按照2089的思路,计算1~n的范围内不含有49的数字的个数。其中需要注意的一点是slove(n+1),是计算[0,n]内不含有49的数字的个数,特别要注意包含了0。就比如solve(50)计算出来的是50,其实这50的数是从0-50开始的不包含49的50个数。所以最后答案是n+1-solve(n+1)#include#include原创 2017-01-24 16:24:03 · 493 阅读 · 0 评论 -
HDU3652B-number(数位DP)
题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=3652题意:找出1~n范围内含有13并且能被13整除的数字的个数思路:使用记忆化深搜来记录状态,配合数位DP来解决第一道用记忆化搜索方式来做的数位dp的题目。期中最重要的就是要知道,如果状态相同并且已被访问过,就可以直接从dp中获取答案,返回上一层。这种方式最重要的是状态相同的设原创 2017-01-24 17:41:12 · 783 阅读 · 0 评论 -
codeforces55D. Beautiful numbers(数位dp+数论)
传送门:http://codeforces.com/problemset/problem/55/D题目大意:求在[l,r]中能够整除自己每个数位上的数字的数的个数。首先给出解这道题需要知道的一个知识:sum%(x*n) %x == sum%x。这个公式的原理其实想想就知道。题目分析:首先我们能够知道如果这个数能够整除它的每个数位上的数原创 2017-01-24 20:29:35 · 528 阅读 · 0 评论 -
SPOJ10606Balanced Numbers(数位DP)
传送门 题目大意:一个数被称为是平衡的数当且仅当对于所有出现过的数位,偶数出现奇数次,奇数出现偶数次。 给定A,B,请统计出[A,B]内所有平衡的数的个数。注意,这里的偶数是指出现过的数,并且不能计算前导零。对于每一个数有三种状态: 0:这个数还木有出现过。 1:这个数出现过奇数次。 2:这个数出现过偶数次。 于是乎用一个三进制数来表示每一种状态。原创 2017-01-24 21:01:43 · 446 阅读 · 0 评论 -
UVA1626Brackets sequence(区间DP--括号匹配+递归打印)
题目描述:定义合法的括号序列如下:1 空序列是一个合法的序列2 如果S是合法的序列,则(S)和[S]也是合法的序列3 如果A和B是合法的序列,则AB也是合法的序列例如:下面的都是合法的括号序列(), [], (()), ([]), ()[], ()[()]下面的都是非法的括号序列(, [, ), )(, ([)]原创 2017-02-27 19:17:48 · 552 阅读 · 0 评论