![](https://img-blog.csdnimg.cn/20190308162320456.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
DP
文章平均质量分 51
动态规划
晚霞是你的晚安
一场繁华一场梦,一场欢喜一场空。 (博主已经退役啦。以后有机会的话可能会继续写写东西,问问题的话只能尽量回答了。当然,欢迎指出错误
展开
-
【状压DP】【NOI2001】炮兵阵地
P2704题目描述司令部的将军们打算在N*M的网格地图上部署他们的炮兵部队。一个N*M的地图由N行M列组成,地图的每一格可能是山地(用“H” 表示),也可能是平原(用“P”表示),如下图。在每一格平原地形上最多可以布置一支炮兵部队(山地上不能够部署炮兵部队);一支炮兵部队在地图上的攻击范围如图中黑色区域所示:如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它...原创 2019-05-28 19:21:40 · 220 阅读 · 0 评论 -
【状压DP】【SCOI2005】互不侵犯
P1896题目描述在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上 左下 右上 右下 八个方向上附近的各一个格子,共8个格子。注:数据有加强(2018 / 4 / 25)输入只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N)输出所得的方案数输入样例3 ...原创 2019-05-28 19:06:10 · 118 阅读 · 0 评论 -
浅谈状态压缩DP
状态压缩DP,也就是俗称的状压DP,是一种利用二进制来描述状态的DP。这类DP一般状态数较大,如果直接存可能会爆空间,而使用状态压缩就不会有任何问题。只需要一个大小一般的十进制数就可以描述原本很复杂的状态。举个例子,如果我们要描述一块n * n的农田的使用情况设n = 9那么我们就可以用一个九位的二进制数来描述一行的状态。可以令1表示已使用,0表示未使用这样我们只需要最多2 ^...原创 2019-05-24 21:16:59 · 475 阅读 · 0 评论 -
【状压DP】P1879 玉米田Corn Fields
DescriptionFarmer John新买了一块长方形的牧场,这块牧场被划分成M列N行(1<=M<=12; 1<=N<=12),每一格都是一块正方形的土地。FJ打算在牧场上的某几格土地里种上美味的草,供他的奶牛们享用。遗憾的是,有些土地相当的贫瘠,不能用来放牧。并且,奶牛们喜欢独占一块草地的感觉,于是FJ不会选择两块相邻的土地,也就是说,没有哪两块草地有公共边。当...原创 2019-05-24 21:15:40 · 149 阅读 · 0 评论 -
【移动类DP】数字三角形3
Description一个数字三角宝塔。设数字三角形中的数字为绝对值不超过1000的整数。小K从最顶层走到最底层,每一步可沿向下或右斜线向下走。每走过一个节点他会把这个节点的数字加在自己计数器中。另外他有一次机会,将他的计数器的数清零,他可以在任意时刻使用这次机会。现在小K想知道他到达底层后,计数器中可能的最大的值.Input输入数据的第1 行是数字三角形的行数n,1<...原创 2019-05-24 20:34:00 · 367 阅读 · 0 评论 -
【移动类DP】三取方格数
Description设有N*N的方格图,我们将其中的某些方格填入正整数,而其他的方格中放入0。某人从图得左上角出发,可以向下走,也可以向右走,直到到达右下角。在走过的路上,他取走了方格中的数。(取走后方格中数字变为0)此人从左上角到右下角共走3次,试找出3条路径,使得取得的数总和最大。Input第一行:N (4<=N<=50)接下来一个N*N的矩阵,矩阵中每个元...原创 2019-05-22 11:16:27 · 417 阅读 · 0 评论 -
【移动类DP】方格取数
Description设有N*N的方格图(N<=10),我们将其中的某些方格中填入正整数,而其他的方格中则放人数字0。如下图所示(见样例 ,黄色和蓝色分别为两次走的路线,其中绿色的格子为黄色和蓝色共同走过的):某人从图的左上角的A点出发,可以向下行走,也可以向右走,直到到达右下角的B 点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B点共走两次,试...原创 2019-05-20 20:04:38 · 297 阅读 · 0 评论 -
【移动类DP】最小伤害
Description小明站在一个N x N的方阵中最左上角的格子里。他可以从一个格子走到它右边和下边的格子里。每一个格子都有一个伤害值。他想在受伤害最小的情况下走到方阵的最右下角。Input第一行输入一个正整数n,n<=1000。以下n行描述该矩阵。矩阵中的数保证是不超过1000的正整数。Output输出最小伤害值。Sample Input31 3 32...原创 2019-05-20 19:50:39 · 433 阅读 · 0 评论 -
【移动类DP】The Triangle 数字三角形
Description73 88 1 02 7 4 44 5 2 6 5(Figure 1)Figure 1 shows a number triangle. Write a program that calculates the highest sum of numbers passedon a route that starts at the top and ends so...原创 2019-05-20 19:46:46 · 422 阅读 · 0 评论 -
【DP】最大子阵和
最大子阵和Description有一个包含正数和负数的二维数组。一个子矩阵是指在该二维数组里,任意相邻的下标是1*1或更大的子数组。一个子矩阵的和是指该子矩阵中所有元素的和。本题中,把具有最大和的子矩阵称为最大子矩阵。例如:0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2这个数组的最大子矩阵为:9 2-4 1-1 8其和为15。...原创 2019-03-25 11:32:37 · 757 阅读 · 0 评论 -
【P1115】最大子段和
题目传送门P1115题目描述给出一段序列,选出其中连续且非空的一段使得这段和最大。输入输出格式输入格式:第一行是一个正整数N,表示了序列的长度。第二行包含N个绝对值不大于10000的整数Ai,描述了这段序列。输出格式:一个整数,为最大的子段和是多少。子段的最小长度为1。输入输出样例输入样例#1:72 -4 3 -1 2 -4 3输出样例#...原创 2019-03-25 09:42:45 · 233 阅读 · 0 评论 -
【DP】最长公共子序列
Description一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X=<x1,x2,…,xm>,则另一序列Z=<z1,z2,…,zk>是X的子序列是指存在一个严格递增的下标序列<i1,i2,…,ik>,使得对于所有j=1,2,…,k有:Xij=Zj例如,序列Z=<B,C,D,B>是序...原创 2019-03-14 21:42:00 · 118 阅读 · 0 评论 -
【DP】拦截导弹
p1020题目某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是 \le 50000≤50000的正整数),计算这套系统最多能...原创 2018-10-16 19:34:19 · 163 阅读 · 0 评论 -
【DP】最长公共子序列
题目一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X=<x_1,x_2,…,x_m><x1,x2,…,xm>,则另一序列Z=<z_1,z_2,…,z_k><z1,z2,…,zk>是X的子序列是指存在一个严格递增的下标序列<i_1,i_2,…,i_k><i1,i2,…,ik>...原创 2018-10-27 20:49:28 · 290 阅读 · 0 评论 -
【背包】【01】采药
P1048题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。...原创 2019-01-29 19:41:53 · 183 阅读 · 0 评论 -
【洛谷P1164】小A点菜
题目传送门P1164题目背景uim神犇拿到了uoi的ra(镭牌)后,立刻拉着基友小A到了一家……餐馆,很低端的那种。uim指着墙上的价目表(太低级了没有菜单),说:“随便点”。题目描述不过uim由于买了一些辅(e)辅(ro)书,口袋里只剩MM元(M≤10000)。餐馆虽低端,但是菜品种类不少,有NN种(N \le 100)(N≤100),第ii种卖a_iai元(ai≤1...原创 2019-02-22 20:16:00 · 687 阅读 · 0 评论 -
【NOIP2018 - day1 - money】noip2018提高组——货币系统
题目传送门P5020题目描述在网友的国度中共有 n种不同面额的货币,第i种货币的面额为a[i],你可以假设每一种货币都有无穷多张。为了方便,我们把货币种数为 n、面额数组为a[1..n] 的货币系统记作(n,a)。在一个完善的货币系统中,每一个非负整数的金额x都应该可以被表示出,即对每一个非负整数x,都存在n个非负整数t[i] 满足 a[i]×t[i]的和为...原创 2020-03-01 15:49:47 · 1103 阅读 · 0 评论 -
【DP】守望者的逃离
题目传送门P1095Description恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为 17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s 内移动 60m,...原创 2019-02-17 20:01:30 · 451 阅读 · 0 评论 -
【DP】最长上升子序列
Description设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)≠b(j)(i≠j),若存在i_1&lt;i_2&lt;i_3&lt;…&lt;i_ei1<i2<i3<…<ie且有b(i_1)&lt;b(i_2)&lt;…&lt;b(i_e)b(i...原创 2019-03-04 20:05:39 · 575 阅读 · 0 评论 -
【DP】数塔问题
Description观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。Input第一个行包含R(1≤ R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不...原创 2019-03-05 19:54:44 · 270 阅读 · 0 评论