
动态规划——线性 DP
线性 DP
Alex_McAvoy
想要成为渔夫的猎手
展开
-
动态规划 —— 线性 DP
【概述】线性动态规划,是较常见的一类动态规划问题,其是在线性结构上进行状态转移,这类问题不像背包问题、区间DP等有固定的模板。线性动态规划的目标函数为特定变量的线性函数,约束是这些变量的线性不等式或等式,目的是求目标函数的最大值或最小值。因此,除了少量问题(如:LIS、LCS、LCIS等)有固定的模板外,大部分都要根据实际问题来推导得出答案。【常见问题】序列问题:点击这里 最...原创 2018-08-20 14:32:36 · 18803 阅读 · 4 评论 -
动态规划 —— 线性 DP —— 序列问题
【基本概念】子序列: 一个序列 A=a1,a2,……an 中任意删除若干项,剩余的序列叫做 A 的一个子序列。也可以认为是从序列 A 按原顺序保留任意若干项得到的序列。(例如:对序列{1,3,5,4,2,6,8,7}来说,序列{3,4,8,7}是它的一个子序列。) 公共子序列 :如果序列 C 既是序列 A 的子序列,也是序列 B 的子序列,则称它为序列 A 和序列 B 的公共子序列。(例如:...原创 2019-03-14 14:55:43 · 3859 阅读 · 3 评论 -
动态规划 —— 线性 DP —— 字符串编辑距离
【准备工作】工具:VMware Workstation Pro来源:https://www.vmware.com/cn.html镜像下载:https://www.kali.org/downloads/【创建步骤】1.创建新虚拟机2.选取自定义安装3.选取兼容性说明:①兼容性,是指所创建虚拟机,可被不同版本的VMware运行的情况,比如:兼容版本是Workstation 4.x,那么...原创 2018-06-08 00:01:13 · 1987 阅读 · 2 评论 -
动态规划 —— 线性 DP —— 最大和问题
【最长子序列和】问题定义:对于给定序列 a1,a2,a3……an 寻找它的某个连续子段,使得其和最大模板:for(int i=2;i<=n;i++){ if(dp[i-1]>=0) dp[i]=dp[i-1]+a[i]; else dp[i]=a[i];}【最大子矩阵和】问题定义:给定一个 m 行 n 列的整数矩...原创 2019-03-14 14:57:01 · 1979 阅读 · 1 评论 -
相似基因(洛谷-P1140)
题目描述大家都知道,基因可以看作一个碱基对序列。它包含了4种核苷酸,简记作A,C,G,T。生物学家正致力于寻找人类基因的功能,以利用于诊断疾病和发明药物。在一个人类基因工作组的任务中,生物学家研究的是:两个基因的相似程度。因为这个研究对疾病的治疗有着非同寻常的作用。题目描述两个基因的相似度的计算方法如下:对于两个已知基因,例如AGTGATG 和GTTAG ,将它们的...原创 2018-08-20 16:28:48 · 2202 阅读 · 0 评论 -
数字三角形(洛谷-P1216)
题目描述观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 在上面的样例中,从7 到 3 到 8 到 7 到 5 的路径产生了最大输入输出格式...原创 2018-08-19 22:21:17 · 1566 阅读 · 0 评论 -
The Cow Lexicon(POJ-3267)
Problem DescriptionFew know that the cows have their own dictionary with W (1 ≤ W ≤ 600) words, each containing no more 25 of the characters 'a'..'z'. Their cowmunication system, based on mooing, is...原创 2018-06-24 22:45:25 · 465 阅读 · 0 评论 -
奇怪的电梯(洛谷-P1135)
题目描述呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯。大楼的每一层楼都可以停电梯,而且第i层楼(1≤i≤N)上有一个数字 Ki(0≤Ki≤N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如: 3,3,1,2,5代表了 Ki(K1=3,K2=3,…),从1楼开始。在1楼,按“上”可以到...原创 2018-08-19 22:21:02 · 4387 阅读 · 0 评论 -
数的划分(洛谷-P1025)
题目描述将整数n分成k份,且每份不能为空,任意两个方案不相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5;1,5,1;5,1,1.问有多少种不同的分法。输入输出格式输入格式:n,k (6<n≤200,2≤k≤6)输出格式:1个整数,即不同的分法。输入输出样例输入样例#1:7 3...原创 2018-08-18 14:29:51 · 989 阅读 · 0 评论 -
Problem Solving(POJ-3265)
Problem DescriptionIn easier times, Farmer John's cows had no problems. These days, though, they have problems, lots of problems; they have P (1 ≤ P ≤ 300) problems, to be exact. They have quit prov...原创 2018-06-24 13:58:14 · 458 阅读 · 0 评论 -
数的划分(信息学奥赛一本通-T1304)
【题目描述】将整数n分成k份,且每份不能为空,任意两份不能相同(不考虑顺序)。例如:n=7,k=3,下面三种分法被认为是相同的。1,1,5; 1,5,1; 5,1,1;问有多少种不同的分法。 输出一个整数,即不同的分法。【输入】两个整数n,k(6<n≤200,2≤k≤6),中间用单个空格隔开。【输出】一个整数,即不同的分法。【输入样例...原创 2018-06-07 15:14:25 · 3220 阅读 · 1 评论 -
大盗阿福(信息学奥赛一本通-T1301)
【题目描述】阿福是一名经验丰富的大盗。趁着月黑风高,阿福打算今晚洗劫一条街上的店铺。这条街上一共有 N 家店铺,每家店中都有一些现金。阿福事先调查得知,只有当他同时洗劫了两家相邻的店铺时,街上的报警系统才会启动,然后警察就会蜂拥而至。作为一向谨慎作案的大盗,阿福不愿意冒着被警察追捕的风险行窃。他想知道,在不惊动警察的情况下,他今晚最多可以得到多少现金?【输入】...原创 2018-06-07 15:13:25 · 3853 阅读 · 1 评论 -
Telephone Wire(POJ-3612)
Problem DescriptionFarmer John's cows are getting restless about their poor telephone service; they want FJ to replace the old telephone wire with new, more efficient wire. The new wiring will utili...原创 2018-06-06 17:52:53 · 659 阅读 · 0 评论 -
Milking Time(POJ-3616)
Problem DescriptionBessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next N (1 ≤ N ≤ 1,000,000) hours (conveniently label...原创 2018-06-06 00:58:20 · 555 阅读 · 0 评论 -
鸡蛋的硬度(信息学奥赛一本通-T1300)
【题目描述】最近XX公司举办了一个奇怪的比赛:鸡蛋硬度之王争霸赛。参赛者是来自世界各地的母鸡,比赛的内容是看谁下的蛋最硬,更奇怪的是XX公司并不使用什么精密仪器来测量蛋的硬度,他们采用了一种最老土的办法--从高度扔鸡蛋--来测试鸡蛋的硬度,如果一次母鸡下的蛋从高楼的第a层摔下来没摔破,但是从a+1层摔下来时摔破了,那么就说这只母鸡的鸡蛋的硬度是a。你当然可以找出各种理由说明这种方法不科学,比如...原创 2018-06-05 23:28:03 · 2865 阅读 · 1 评论 -
最低通行费(信息学奥赛一本通-T1287)
【题目描述】一个商人穿过一个N×N的正方形的网格,去参加一个非常重要的商务活动。他要从网格的左上角进,右下角出。每穿越中间1个小方格,都要花费1个单位时间。商人必须在(2N-1)个单位时间穿越出去。而在经过中间的每个小方格时,都需要缴纳一定的费用。这个商人期望在规定时间内用最少费用穿越出去。请问至少需要多少费用?注意:不能对角穿越各个小方格(即,只能向上下左右四个方向移动且不能离...原创 2018-06-01 20:27:43 · 3444 阅读 · 0 评论 -
数字金字塔(信息学奥赛一本通-T1258)
【题目描述】观察下面的数字金字塔。写一个程序查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以从当前点走到左下方的点也可以到达右下方的点。在上面的样例中,从13到8到26到15到24的路径产生了最大的和86。【输入】第一个行包含R(1≤ R≤1000),表示行的数目。后面每行为这个数字金字塔特定行包含的整数。所有的被供应的整数是非负的且不大于100。...原创 2018-05-31 20:36:39 · 4578 阅读 · 0 评论 -
命运(HDU-2571)
Problem Description 穿过幽谷意味着离大魔王lemon已经无限接近了!可谁能想到,yifenfei在斩杀了一些虾兵蟹将后,却再次面临命运大迷宫的考验,这是魔王lemon设下的又一个机关。要知道,不论何人,若在迷宫中被困1小时以上,则必死无疑!可怜的yifenfei为了去救MM,义无返顾地跳进了迷宫。让我们一起帮帮执着的他吧!命运大迷宫可以看成是一个两维的方格...原创 2018-03-27 23:32:16 · 404 阅读 · 0 评论 -
数塔(HDU-2084)
Problem Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的:有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少?已经告诉你了,这是个DP的题目,你能AC吗?Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 ...原创 2018-03-27 23:25:59 · 594 阅读 · 0 评论 -
尼克的任务(洛谷-P1280)
题目描述尼克每天上班之前都连接上英特网,接收他的上司发来的邮件,这些邮件包含了尼克主管的部门当天要完成的全部任务,每个任务由一个开始时刻与一个持续时间构成。尼克的一个工作日为N分钟,从第一分钟开始到第N分钟结束。当尼克到达单位后他就开始干活。如果在同一时刻有多个任务需要完成,尼克可以任选其中的一个来做,而其余的则由他的同事完成,反之如果只有一个任务,则该任务必需由尼克去完成,假如某些任务开...原创 2018-08-20 16:30:26 · 625 阅读 · 0 评论 -
小b和排序(51Nod-2484)
题目小b有两个长度都为n的序列A,B。现在她需要选择一些i,然后交换A[i]和B[i],使得A和B都变成严格递增的序列。你能帮小b求出最少交换次数吗?输入保证有解。输入第一行输入一个正整数n,表示两个数组的长度;第二行输入n个数,表示A[i],以空格隔开;第三行输入n个数,表示B[i],以空格隔开;其中1≤n≤1000, 0≤A[i],B[i]≤2000输出...原创 2019-05-02 21:33:48 · 978 阅读 · 0 评论 -
Likecloud-吃、吃、吃(洛谷-P1508)
题目描述正处在某一特定时期之中的李大水牛由于消化系统比较发达,最近一直处在饥饿的状态中。某日上课,正当他饿得头昏眼花之时,眼前突然闪现出了一个n*m(n and m<=200)的矩型的巨型大餐桌,而自己正处在这个大餐桌的一侧的中点下边。餐桌被划分为了n*m个小方格,每一个方格中都有一个圆形的巨型大餐盘,上面盛满了令李大水牛朝思暮想的食物。李大水牛已将餐桌上所有的食物按其所能提供的能量打了...原创 2018-08-20 17:04:39 · 639 阅读 · 0 评论 -
最大正方形(洛谷-P1387)
题目描述在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形,输出边长。输入输出格式输入格式:输入文件第一行为两个整数n,m(1<=n,m<=100),接下来n行,每行m个数字,用空格隔开,0或1.输出格式:一个整数,最大正方形的边长输入输出样例输入样例#1:4 40 1 1 11 1 1 00 1 1 01 1 0 1输出...原创 2018-08-20 17:09:17 · 1145 阅读 · 0 评论 -
奇怪的电梯(信息学奥赛一本通-T1360)
【题目描述】大楼的每一层楼都可以停电梯,而且第i层楼(1≤i≤N)上有一个数字Ki(0≤=Ki≤=N)。电梯只有四个按钮:开,关,上,下。上下的层数等于当前楼层上的那个数字。当然,如果不能满足要求,相应的按钮就会失灵。例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始。在一楼,按“上”可以到4楼,按“下”是不起作用的,因为没有-2楼。那么,从A楼到B楼至少要按几次按钮...原创 2018-06-08 23:05:47 · 3634 阅读 · 4 评论 -
回文字符串(51Nod-1092)
题目回文串是指aba、abba、cccbccc、aaaa这种左右对称的字符串。每个字符串都可以通过向中间添加一些字符,使之变为回文字符串。例如:abbc 添加2个字符可以变为 acbbca,也可以添加3个变为 abbcbba。方案1只需要添加2个字符,是所有方案中添加字符数量最少的。输入输入一个字符串Str,Str的长度 <= 1000。输出输出最少添加多少个字符可以...原创 2019-04-15 21:41:14 · 867 阅读 · 0 评论 -
Race(LightOJ-1326)
Problem DescriptionDisky and Sooma, two of the biggest mega minds of Bangladesh went to a far country. They ate, coded and wandered around, even in their holidays. They passed several months in thi...原创 2019-03-26 13:08:13 · 395 阅读 · 0 评论 -
小a的子序列
【题目描述】小a有一个长度为n的序列,但是他忘了这个序列的样子,他只记得序列中的数大小在[1,V]内你可以任意选择一些位置,并给它们赋值来组成一段子序列,需要满足序列中的数严格递增一段子序列的“萌值”定义为序列中除最大数外所有数的乘积,若只有1个数则为1他想请你求出所有合法子序列的“萌值”的和不同子序列的定义为:存在某个值不同 或 在原序列中的位置不同输出答案对10^9+...原创 2019-03-10 17:15:14 · 672 阅读 · 0 评论 -
Increasing Frequency(CF-1082E)
Problem DescriptionYou are given array a of length n. You can choose one segment [l,r] (1≤l≤r≤n) and integer value k (positive, negative or even zero) and change al,al+1,…,ar by keach (i.e. ai:=ai+...原创 2018-12-05 21:30:49 · 895 阅读 · 0 评论 -
Crossing River(信息学奥赛一本通-T1232)
【题目描述】几个人过河,每次过两人一人回,速度由慢者决定,问过河所需最短时间。【输入】输入t组数据,每组数据第1行输入n,第2行输入n个数,表示每个人过河的时间。【输出】输出t行数据,每行1个数,表示每组过河最少时间。【输入样例】141 2 5 10【输出样例】17【源程序】#include<iostream>#include&l...原创 2018-05-13 14:36:41 · 4760 阅读 · 0 评论 -
最大子矩阵(信息学奥赛一本通-T1224)
【题目描述】已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1×11×1)子矩阵。比如,如下4×4的矩阵 0 -2 -7 0 9 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是 9 2-4 1-1 8这个子矩阵的大小是15。...原创 2018-05-13 13:45:26 · 5098 阅读 · 3 评论 -
山区建小学(信息学奥赛一本通-T1197)
【题目描述】政府在某山区修建了一条道路,恰好穿越总共m个村庄的每个村庄一次,没有回路或交叉,任意两个村庄只能通过这条路来往。已知任意两个相邻的村庄之间的距离为didi(为正整数),其中,0<i<m。为了提高山区的文化素质,政府又决定从m个村中选择n个村建小学(设0<n≤m<500)。请根据给定的m、n以及所有相邻村庄的距离,选择在哪些村庄建小学,才使得所有村到最近小学...原创 2018-05-04 16:26:11 · 5921 阅读 · 5 评论 -
判断整除(信息学奥赛一本通-T1195)
【题目描述】一个给定的正整数序列,在每个数之前都插入+号或-号后计算它们的和。比如序列:1、2、4共有8种可能的序列:(+1) + (+2) + (+4) = 7(+1) + (+2) + (-4) = -1(+1) + (-2) + (+4) = 3(+1) + (-2) + (-4) = -5(-1) + (+2) + (+4)...原创 2018-05-04 16:17:50 · 6977 阅读 · 1 评论 -
Vasya And The Mushrooms(CF-1016C)
Problem DescriptionVasya's house is situated in a forest, and there is a mushroom glade near it. The glade consists of two rows, each of which can be divided into n consecutive cells. For each cell ...原创 2018-08-14 15:46:13 · 694 阅读 · 0 评论 -
创意吃鱼法(洛谷-P1736)
题目描述回到家中的猫猫把三桶鱼全部转移到了她那长方形大池子中,然后开始思考:到底要以何种方法吃鱼呢(猫猫就是这么可爱,吃鱼也要想好吃法 ^_*)。她发现,把大池子视为01矩阵(0表示对应位置无鱼,1表示对应位置有鱼)有助于决定吃鱼策略。在代表池子的01矩阵中,有很多的正方形子矩阵,如果某个正方形子矩阵的某条对角线上都有鱼,且此正方形子矩阵的其他地方无鱼,猫猫就可以从这个正方形子矩阵“对角线...原创 2018-08-21 20:05:19 · 529 阅读 · 0 评论 -
摘花生(信息学奥赛一本通-T1284)
【题目描述】Hello Kitty想摘点花生送给她喜欢的米老鼠。她来到一片有网格状道路的矩形花生地(如下图),从西北角进去,东南角出来。地里每个道路的交叉点上都有种着一株花生苗,上面有若干颗花生,经过一株花生苗就能摘走该它上面所有的花生。Hello Kitty只能向东或向南走,不能向西或向北走。问Hello Kitty最多能够摘到多少颗花生。【输入】第一行是一个整数T,代表一共有...原创 2018-06-01 20:40:06 · 4341 阅读 · 1 评论 -
最大子矩阵(信息学奥赛一本通-T1282)
【题目描述】已知矩阵的大小定义为矩阵中所有元素的和。给定一个矩阵,你的任务是找到最大的非空(大小至少是1 × 1)子矩阵。比如,如下4 × 4的矩阵0 -2 -7 09 2 -6 2-4 1 -4 1-1 8 0 -2的最大子矩阵是9 2-4 1-1 8这个子矩阵的大小是15。【输入】输入是一个N×N...原创 2018-06-01 21:11:00 · 3960 阅读 · 0 评论 -
方格取数(信息学奥赛一本通-T1277)
【题目描述】设有N×N的方格图,我们在其中的某些方格中填入正整数,而其它的方格中则放入数字0。如下图所示:某人从图中的左上角A出发,可以向下行走,也可以向右行走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。此人从A点到B点共走了两次,试找出两条这样的路径,使得取得的数字和为最大。【输入】第一行为一个整数N(N≤10),表示N...原创 2018-06-05 23:16:47 · 2969 阅读 · 0 评论 -
最长上升子序列(信息学奥赛一本通-T1281)
【题目描述】一个数的序列bi,当b1<b2<...<bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1,a2,...,aN),我们可以得到一些上升的子序列(ai1,ai2,...,aiK),这里1≤i1<i2<...<iK≤N。比如,对于序列(1,7,3,5,9,4,8),有它的一些上升子序列,如(1,7),(3,4,8)等等。这些子序列中最...原创 2018-06-01 20:20:34 · 4778 阅读 · 0 评论 -
求最长不下降序列(信息学奥赛一本通-T1259)
【题目描述】设有由n(1≤n≤200)个不相同的整数组成的数列,记为:b(1)、b(2)、……、b(n)且b(i)≠b(j)(i≠j),若存在i1<i2<i3<…<ie 且有b(i1)<b(i2)<…<b(ie)则称为长度为e的不下降序列。程序要求,当原数列出之后,求出最长的不下降序列。例如13,7,9,16,38,24,37,18,44,1...原创 2018-05-31 20:38:06 · 6975 阅读 · 4 评论 -
最长公共子序列(信息学奥赛一本通-T1265)
【题目描述】一个给定序列的子序列是在该序列中删去若干元素后得到的序列。确切地说,若给定序列X=<x1,x2,…,xm>,则另一序列Z=<z1,z2,…,zk>是X的子序列是指存在一个严格递增的下标序列<i1,i2,…,ik>,使得对于所有j=1,2,…,k有:Xij=Zj例如,序列Z=<B,C,D,B>是序列X=<A,B,C...原创 2018-05-31 21:18:51 · 4142 阅读 · 0 评论