![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 60
lhq_er
这个作者很懒,什么都没留下…
展开
-
炮兵阵地
又是一道经典的状压DP 看这跟铺格子一题十分像,考虑到每个炮兵只会对接下来的两行造成影响,我们就可以考虑这样的状态: dp[i][j][k]表示到第i行,第i行状态为j,i-1行状态为k时的最大炮台数量, 可以得到方程:dp[i][j][k]=max{dp[i-1][k][p] +num[j]} 其中num[j]表示j状态表示的方案中那一行炮台的个数代码中数组含义: Sta数组存储dfs出原创 2017-05-21 13:24:00 · 602 阅读 · 0 评论 -
炮兵阵地
E: 炮兵阵地时间限制: 1 Sec 内存限制: 128 MB题目描述司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示: 如果在地图原创 2017-05-25 20:00:27 · 429 阅读 · 3 评论 -
【JZOJ 3853】【NOIP2014八校联考第2场第2试9.28】帮助Bsny(help) (详解)
帮助Bsny 状压DP,关于DP的思考原创 2017-07-09 20:41:52 · 667 阅读 · 0 评论 -
【HDU3555】 Bomb
记忆化搜索数位DP模板题,写记忆化真的简单原创 2017-08-16 18:58:47 · 201 阅读 · 0 评论 -
【POJ3252】 Round Numbers
这道题目让我知道了为什么模板里要有lead记录前导0,一开始没记录偏大。原创 2017-08-16 19:01:41 · 205 阅读 · 0 评论 -
【HDU3709】 Balanced Number
一开始想到的是f[len][pivot][j][k]记录到len,支点为pivot,左边j,右边k的值 看过题解后发现可以直接记录j-k为power_matrix,这样可以少一维,还可以在为负数时剪枝。原创 2017-08-16 19:35:22 · 215 阅读 · 0 评论 -
【HDU3652】B-number
同Bomb,多记一个sum为%13后的余数原创 2017-08-16 19:43:16 · 211 阅读 · 0 评论 -
【HDU 4734】 F(x)
还是记忆化数位DP,到现在我发现记忆化的写法就是一个大暴力的优化,记录的就是到现在接下来继续搜会有的结果,解释这样,所以在某些题目上只能多花点空间,而且数组的含义也有点区别。原创 2017-08-17 19:00:02 · 296 阅读 · 0 评论 -
【ZOJ3541】The Last Puzzle 区间DP+贪心
ProblemZOJ Vjudge Tips:不要去HDU,评测好像有问题Solution1.一个很重要的贪心性质:骑士只能从区间的两边开始走,画一下图就知道了。 2.dp[l][r][0]表示从l走起走完这个区间所取得最少时间,dp[l][r][1]则是从r走起。 3.dp[l][r][0]=min{dp[l+1][r][0]+d[l+1]-d[l],dp[l+1][r][1]+d[r]-原创 2017-08-11 16:40:16 · 362 阅读 · 0 评论 -
【HDU2089】不要62 数位DP
Problemhttp://acm.hdu.edu.cn/showproblem.php?pid=2089 https://vjudge.net/problem/HDU-2089Solutionf[i][0|1][0|1]表示到i位,第i位是否是6,是否“紧贴”, 水题。CODE/* * @key words: digit DP * @tested on: HDU 2089 * @Aut原创 2017-08-11 17:54:42 · 306 阅读 · 0 评论 -
【CodeForces 55D】Beautiful number 数位DP
Problemhttps://vjudge.net/problem/CodeForces-55DSolutionhttp://blog.csdn.net/lhq_er/article/details/77017024 代码更新过了,这个链接里的只能做到101810^{18},这个能到9∗10189*10^{18}CODE/* * @key words: digit DP * @tested o原创 2017-08-11 17:57:06 · 292 阅读 · 0 评论 -
【数位DP模板】
我发现别人的数位DP都是记忆化搜索的,而且不用每次memset,于是在网上找了个模板,很精妙 http://blog.csdn.net/just_sort/article/details/52169718转载 2017-08-11 19:10:31 · 239 阅读 · 0 评论 -
【HDU4352】 XHXJ's LIS
数位DP+LIS+状压 解题前奏:nlogn LIS 具体:记录前len位的LIS情况,可以预处理sta+i后的newsta,然后DFS,DP写超时(10000组)原创 2017-08-16 18:57:12 · 402 阅读 · 0 评论 -
【树形DP】宝藏
Solution挺有意思的一道树形DP,我理解了3个小时…… 这道题目我们想一想后会发现大致要记录两个值:从i开始走再回到i的最大价值,从i开始不回到i的最大价值。 我们用方法一表示走某颗子树走下去再走回来,方法二表示走下去不回来。 我们用f[i]f[i]表示从i开始往子树走,再走回来的最大价值,(可以走很多棵子树),Max[i]Max[i]表示走每棵子树用方法二和方法一的价值之差,显然方法二原创 2017-09-19 20:14:38 · 535 阅读 · 0 评论 -
51nod 1407
一道非常不错的容斥题(也有利于理解前缀和) 下面我将两种方法: 1.一般在网上搜到的方法,首先算出1406题的答案,dp[i]表示n个数中满足x&i==i的x有几个,然后我们考虑 dp[i]所代表的所有数互相&,出去空集外共有2dp[i]2^{dp[i]}种,这些方案代表了所有&和包含i的方案,即i上的1都有,其他的任意,这样我们就可以容斥了,Ans=所有方案数-不合法的方案数,不合法的怎么算?原创 2017-10-19 06:52:39 · 278 阅读 · 0 评论 -
铺砖块
A: 铺砖块时间限制: 1 Sec 内存限制: 128 MB题目描述现有n*m的一块地板,需要用1*2的砖块去铺满,中间不能留有空隙。问这样方案有多少种输入输入n,m(1<=n, m<=11)有多组输入数据,以m=n=0结束 输出输出铺砖块的方案数 样例输入1 21 31 42 22 32 42 114原创 2017-05-25 19:55:33 · 820 阅读 · 0 评论 -
吐槽
概率DP千万不要加if (f[...]<1e-8) continue;我的本意是为0的话不做可以加速,结果到了后面概率会小于1e-8是答案偏小!!原创 2017-10-21 15:29:57 · 277 阅读 · 0 评论 -
括号序列
C: 括号序列时间限制: 1 Sec 内存限制: 128 MB 题目描述定义如下规则序列(字符串): 1.空序列是规则序列; 2.如果S是规则序列,那(S)和[S]也是规则序列;3.如果A和B都是规则序列,那么AB也是规则序列。例如,下面的字符串都是规则序列: (), [], (()), ([]), ()[], ()[()] 这几个不是规则序原创 2017-05-25 19:52:04 · 423 阅读 · 0 评论 -
石子合并(NOI1995)
F: 石子合并(NOI1995)时间限制: 1 Sec 内存限制: 128 MB 题目描述在操场上沿一直线排列着 n堆石子。现要将石子有次序地合并成一堆。规定每次只能选相邻的两堆石子合并成新的一堆, 并将新的一堆石子数记为该次合并的得分。允许在第一次合并前对调一次相邻两堆石子的次序。计算在上述条件下将n堆石子合并成一堆的最小得分和初次交换的位置。 输入输入原创 2017-05-25 19:53:35 · 1095 阅读 · 2 评论 -
低价购买
H: 低价购买时间限制: 1 Sec 内存限制: 128 MB 题目描述“低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价原创 2017-05-24 18:01:18 · 309 阅读 · 0 评论 -
兔子跳跃之谜
兔子跳跃之谜下题目描述小生和小森在玩兔子之谜游戏。有三只兔子排成一排。知道每只兔子的初始位置,以及三个兔窝的位置。 游戏的规则是,重复以下步骤k次:选择两个不同的兔子A和B,分别位于a和b。A可以跳过B到达2*b-a的点: 跳跃是不允许其他小兔子已经在点2*b-a的位置上: 跳跃也不允许一次跳过一个以上的兔子: 现在小生和小森想要知道,k次操作之后,能原创 2017-05-22 18:18:11 · 609 阅读 · 0 评论 -
0/1背包
C: 0/1背包时间限制: 1 Sec 内存限制: 128 MB题目描述一个旅行者有一个最多能装m公斤物品的背包,现在有n件物品,它们的重量分别是w1,w2,…,wn,它们的价值分别为c1,c2,…,cn。若每件物品只有一件,求旅行者能获得的最大总价值。 输入第一行:两个整数,m(背包容量,m)和n(物品数量,n)。第二~n+1行:每行两个整数wi,ci,表示每个物品原创 2017-05-23 21:09:00 · 280 阅读 · 0 评论 -
找GF
D: P1013时间限制: 1 Sec 内存限制: 128 MB题目描述" 找啊找啊找GF,找到一个好GF,吃顿饭啊拉拉手,你是我的好GF.再见." " 诶,别再见啊..." 七夕...七夕...七夕这个日子,对于sqybi这种单身的菜鸟来说是多么的痛苦...虽然他听着这首叫做" 找啊找啊找GF" 的歌,他还是很痛苦.为了避免这种痛苦,sqybi决定要给自己找点事情干.他去找到了七夕原创 2017-05-24 17:54:47 · 245 阅读 · 0 评论 -
运动鞋
G: 运动鞋时间限制: 1 Sec 内存限制: 128 MB 题目描述经过几个月的艰苦学习,Iserlohn终于赢得了全额奖学金。作为一个运动鞋狂热爱好者,他决定用所有的钱在运动鞋商店进行消费。有一些球鞋Iserlohn要收集,如Air Jordan和 Nike Pro。而每个品牌已发布各种产品。由于,Iserlohn绝对是一个运动鞋狂热,他意欲购买每个品牌原创 2017-05-24 17:59:58 · 376 阅读 · 0 评论 -
胖男孩
I: 胖男孩时间限制: 1 Sec 内存限制: 128 MB 题目描述麦克正如我们所知的已快乐地结婚,在上个月他胖了70磅。因为手指上的脂肪过多,使他连给他最亲密的朋友斯拉夫克写一个电子邮件都很困难。每晚麦克都详细地描述那一天他所吃的所有东西,但有时当他只想按一次某键时往往会按了不止一次,并且他的胖手指还会碰到他不想要按的键,麦克也知道自己的手指有问题,因此他在打字的时候原创 2017-05-24 18:02:32 · 1060 阅读 · 0 评论 -
最长公共子序列
F: P1050时间限制: 1 Sec 内存限制: 128 MB题目描述一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad" ,顺次选1,3,5个字符就构成子串" cad" ,现给定两个字符串,求它们的最长共公子串。 输入第一行两个字符串用空格分开。 输出最长子串的长度。 样例输入abccd aecd样例输出原创 2017-05-24 17:57:49 · 559 阅读 · 0 评论 -
友好城市
B: 友好城市时间限制: 1 Sec 内存限制: 128 MB 题目描述 Palmia国有一条横贯东西的大河,河有笔直的南北两岸,岸上各有位置不同的N个城市。北岸的每个城市有且仅有一个友好城市在南岸,而且不同城市的友好城市不相同。每对友好城市都向政府申请在河上开辟一条直线航道连接两个城市,但是由于河上雾太大,政府决定避免任意两条航道交叉,以避免事故。编程帮助政府作出一些批原创 2017-05-23 21:04:28 · 412 阅读 · 0 评论 -
导弹拦截
A :导弹拦截题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹一次飞来的高度(雷达给出的高度不大于30000的正整数)。计算这套系统最多能拦截多原创 2017-05-23 19:48:30 · 368 阅读 · 0 评论 -
尼克的任务
E: 尼克的任务时间限制: 1 Sec 内存限制: 128 MB 题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余原创 2017-05-24 17:56:07 · 340 阅读 · 0 评论 -
乘积最大(加乘)
乘积最大(改编版)时间限制: 1 Sec 内存限制: 128 MB题目描述题目很简单,给出N个数字,不改变它们的相对位置,在中间加入K个乘号和N-K-1个加号,(括号随便加)使最终结果尽量大。因为乘号和加号一共就是N-1个了,所以恰好每两个相邻数字之间都有一个符号。例如:N=5, K=2,5个数字分别为1、2、3、4、5,可以加成:1*2*(3+4+5)=24 1*(2+3原创 2017-05-25 19:47:12 · 550 阅读 · 0 评论 -
乘积最大
乘积最大时间限制: 1 Sec 内存限制: 128 MB 题目描述今年是国际数学联盟确定的“2000——世界数学年”,又恰逢我国著名数学家华罗庚先生诞辰90周年。在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好朋友XZ也有幸得以参加。活动中,主持人给所有参加活动的选手出了这样一道题目:设有一个长度N的数字串,要求选手使用K个乘号将它分成K+1个部原创 2017-05-25 19:48:31 · 973 阅读 · 0 评论 -
加分二叉树
D: 加分二叉树时间限制: 1 Sec 内存限制: 128 MB 题目描述设一个n个节点的二叉树tree的中序遍历为(l,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第j个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下:subtree的左子树的加分×原创 2017-05-25 19:50:43 · 326 阅读 · 0 评论 -
小明的喷漆计划
E: 小明的喷漆计划时间限制: 5 Sec 内存限制: 128 MB题目描述小明极其喜欢涂鸦,总是在墙上涂上各种颜色的漆。现在小明得到一个任务,需要喷涂一段空白围墙,且单位长度内的颜色都是相同的。小明有一种喷涂工具,它可以给任意长度的一段墙面涂上任意颜色的漆,这样的操作计为一次操作。小明要完成这个任务,又想使得操作次数尽量少,就请你帮他解决这个问题吧。 输入有多组输入数据原创 2017-05-25 19:52:46 · 543 阅读 · 0 评论 -
天上掉Pizza
C: 天上掉Pizza时间限制: 3 Sec 内存限制: 128 MB题目描述明明喜欢Pizza,但总是缺钱。有一天,他在报纸上阅读,他最喜爱的比萨饼店��必胜客,正在对大批新Pizza运行的促销。促销的办法是:在购买一些Pizza后,可能得到一些优惠券,可以对另一些Pizza进行打折,更令人惊喜的是这些优惠券可以结合起来。但是,有一个限制,Pizza必须一个接一个买,而后得到的优惠原创 2017-05-25 19:58:02 · 467 阅读 · 0 评论 -
导游
B: 导游2时间限制: 1 Sec 内存限制: 128 MB题目描述宁波市的中小学生们在镇海中学参加程序设计比赛之余,热情的主办方邀请同学们参观镇海中学内的各处景点,已知镇海中学内共有n处景点。现在有n位该校的学生志愿承担导游和讲解任务。每个学生志愿者对各个景点的熟悉程度是不同的,如何将n位导游分配至n处景点,使得总的熟悉程度最大呢?要求每个景点处都有一个学生导游。 输入原创 2017-05-25 19:56:57 · 909 阅读 · 0 评论 -
稀有矿井
D: 稀有矿井时间限制: 1 Sec 内存限制: 128 MB题目描述XYZ公司已在沿太平洋东海岸位于不同地区的几个岛屿发现了5种稀有的矿藏。该公司认为,这将是一个获利最好的机会。然而,由于金融危机,该公司并没有足够的人手和金钱在所有岛屿上建立矿田。因此,公司委员会选择了一些有较高的矿石储量岛屿,并派出一名调查员对这些岛屿制作了岛上的矿石分布调查。调查结果显示,每个岛上有许多连接在一原创 2017-05-25 19:59:33 · 582 阅读 · 0 评论 -
一些DP的优化文章
决策单调性:https://www.cnblogs.com/Winniechen/p/9218864.htmlDP的各种优化(动态规划,决策单调性,斜率优化,带权二分,单调栈,单调队列):https://www.cnblogs.com/flashhu/p/9480669.html浅谈带权二分或者斜率凸优化:https://www.cnblogs.com/nietzsche-oier/p/...转载 2018-10-16 16:48:20 · 284 阅读 · 0 评论