DP
nuoyanli
做题,反思,做题;刷题,总结,刷题;
展开
-
Codeforces Round #655 (Div. 2) E
题目链接https://codeforces.com/contest/1372/problem/E题面题意给定一个n∗mn*mn∗m的矩形区域,然后有接下来给定每行划分的区域,每行kkk个区域,区域由区间[L,R][L,R][L,R]表示,你可以把区间赋值为010101串,但是只能每个区域一个111,然后求每一列和的平方的和最大。思路不难知道要尽量使一列的111更多,答案才尽可能大,考虑区间dpdpdp,dp[i][j]dp[i][j]dp[i][j]表示为:表示从 iii列到 jjj列能够得原创 2020-07-14 20:21:46 · 1174 阅读 · 0 评论 -
HDU3308背包dp
个人博客链接:https://blog.nuoyanli.com/2020/04/03/hdu3308/题目链接http://acm.hdu.edu.cn/showproblem.php?pid=3308题意给定野怪的血量为100100100,攻击力为qqq,你的生命值和魔法值都为100100100,普通攻击力为111(不消耗魔法值),使用技能造成的伤害需要消耗魔法值,每2s2s2s你会增...原创 2020-04-03 23:18:10 · 1247 阅读 · 0 评论 -
FUZ-2204-7环形dp
个人博客链接:https://blog.nuoyanli.com/2020/04/02/fuz2204/原题链接http://acm.fzu.edu.cn/problem.php?pid=2204题意给出nnn个小球,每个小球只能涂黑色或者是白色,规定777个连续的不能是同种颜色,问有多少种涂色方法?答案取模201520152015思路我们将问题变成,求用0,10,10,1组成长度为n...原创 2020-04-02 01:56:58 · 1212 阅读 · 0 评论 -
codeforces 1221D DP
链接https://codeforces.com/problemset/problem/1221/D题意你有一个长度为n的序列,每次你可以令aia_iai的值加111,但需要消耗bib_ibi的代价。现在,你希望花费尽可能少的代价修改你的序列,使序列中任意相邻两项不相等。思路不难想到,对于一个数来说,它要么不变,要么加111,要么加222,所以可以dp[n][3]:dp[n][3]:...原创 2020-03-25 23:19:52 · 1236 阅读 · 0 评论 -
HDU 4272(LianLianKan 连连看?消消乐?误)状压dp
题面链接http://acm.hdu.edu.cn/showproblem.php?pid=4272题面题意一个栈,每次可以选择和栈顶一样的数字,并且和栈顶距离小于666,然后同时消去他们,问能不能把所有的数消去。思路每个数字最远能消去和他相距999的数,因为至多中间444个可以被他上面的消去。然后还要判断栈顶有没有被消去,所以开101010位dpdpdp。dp[i][j]dp[i]...原创 2020-03-01 00:21:05 · 1280 阅读 · 1 评论 -
HDU1438 钥匙计数(状压dp)
原题链接http://acm.hdu.edu.cn/showproblem.php?pid=1438题面题意一把锁匙有NNN个槽,槽深为1,2,3,41,2,3,41,2,3,4。每锁匙至少有333个不同的深度且至少有111对相连的槽其深度之差为333。求这样的锁匙的总数。思路因为状态只有444位,所以考虑状压dpdpdp(暴力)dp[i][j][k][f]dp[i][j][k][...原创 2020-03-01 00:00:43 · 1176 阅读 · 0 评论 -
中国计量大学现代科技学院第四届“中竞杯”程序设计校赛 01背包 状态存储
题目来源https://cometoj.com/contest/81/problem/I题面描述题意010101背包:给你n个物品m块钱n个物品m块钱n个物品m块钱,每个物品有自己的价值bib_ibi和价格aia_iai,问m块钱能买的最大价值东西。这里在010101背包的基础上加了ttt个查询,每个查询可以改变第xxx个物品的价值和价格,重新求一遍最大价值。(n,m,ai≤...原创 2020-01-09 12:29:20 · 2638 阅读 · 2 评论 -
P1140 相似基因(简单dp)
题目来源https://www.luogu.com.cn/problem/P1140题面题意给定权值匹配表,求最大一个匹配顺序的匹配权值最大。思路dp[i][j]表示a的前i个和b的前j个相匹配的最大值dp[i][j]表示a的前i个和b的前j个相匹配的最大值dp[i][j]表示a的前i个和b的前j个相匹配的最大值dp[i][j]=max(dp[i−1][j−1]+(a[i]与b[...原创 2019-12-27 17:26:55 · 1445 阅读 · 0 评论 -
悬线法
适用问题给定一个 n∗mn*mn∗m的 010101 矩阵 ,求其面积最大的子矩阵,使得这个子矩阵中的每一位的值都为 000。复杂度:悬线法可以在 O(n∗m)O(n*m)O(n∗m)的时间复杂度内解决以上问题。定义:在讲解中,我们将值为111的点称为“障碍点”。悬线,就是一条竖线,这条竖线要满足其上端点在矩形的上边界或其上端点的上面是障碍点。我们枚举每个点的悬线,求出其最多...原创 2019-12-12 18:03:48 · 1750 阅读 · 0 评论 -
[P4147 玉蟾宫(悬线法)
题目链接:P4147 玉蟾宫题目大意:n∗mn∗mn∗m的矩阵,求最大的全FFF矩阵面积∗3*3∗3。思路:悬线法。参考代码:#include <bits/stdc++.h>using namespace std;const int N = 2005;int lft[N][N], rgt[N][N], up[N][N], res[N][N];int main() ...原创 2019-12-12 18:02:49 · 1398 阅读 · 0 评论 -
[P1169 [ZJOI2007]] 悬线法
题目链接:P1169 [ZJOI2007]棋盘制作题目大意:给定一个01棋盘,求其中01交错的最大正方形与矩形。思路:悬线法求解正方形&&长方形的情况即可。题目要求01交错,所以"!="即可。参考代码:#include <bits/stdc++.h>using namespace std;const int N = 2005;int lft[N][N...原创 2019-12-12 17:50:03 · 1332 阅读 · 0 评论 -
P1578 奶牛浴场
题目链接P1578 奶牛浴场转自:https://blog.csdn.net/jk_chen_acmer/article/details/86758567题目大意:n∗mn*mn∗m的矩阵,有几个点(不是格子而是坐标点),问最大的没有覆盖这些点的矩阵。思路:首先搞清楚模型,(1,1)和(4,4)是右边的情况,因为给出的案例下面两种答案都是80。这题虽然不能用悬线法(矩阵太大不可能...转载 2019-12-12 17:46:50 · 1156 阅读 · 0 评论 -
Count the string(前缀出现次数
题目描述:题意:输出所有s中前缀在s中出现的次数。思路:拿到这题刚开始的时候我是没有头绪的。当然,DP问题本来就是一个玄学,再加上这题还得用到KMP算法对字符串进行处理,很难想到用DP去求解(当然也可能是小编我太渣了),我们用dp[i]表示i前面所出现的前缀重复的次数,因为KMP算法中next数组的定义,next[i]就是在i前面前缀重复的上一个位置,这个说法可能不怎么好理解,这里小编再...原创 2019-07-23 15:10:42 · 1598 阅读 · 0 评论 -
南阳理工学院ACM多乐赛暨16级退役纪念赛 E 序列操作Ⅰ
题目来源:http://acm.nyist.edu.cn/problem/1665题目描述:给定长度为N的正整数序列A1,A2,AN , 从中选出若干个数,使它们的和是M,求有多少种选择方案。输入描述:第一行是两个数字,表示 N 和 M。第二行是 N 个数。1 <= N <= 100, 1 <= M <= 10^5, 1 <= A_i <= 1000...原创 2019-06-17 00:46:03 · 1416 阅读 · 0 评论 -
1028: 摆花(背包dp)
题目来源:http://129.211.20.246/problem.php?id=1028题目描述:小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i 种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。试编程计算,一共有多少种...原创 2019-05-01 08:22:39 · 1404 阅读 · 0 评论 -
D. Beautiful Array Educational Codeforces Round 63 (Rated for Div. 2)(DP)
题目来源:https://codeforces.com/contest/1155/problem/D题意:给你一个数组和一个数字x,求当前数组最大子串和(可以乘x或者不乘)思路:(借用大佬的语言描述)DP[i][3]:定义乘x的区间叫做"大"区间dp[i][1]表示,第i个数,未乘x,且在"大"区间之前,所以只能一个状态转移过来,即上一个点也不乘xdp[i][2]表示,第...原创 2019-04-23 09:50:21 · 1387 阅读 · 0 评论 -
(编辑距离)牛客寒假算法基础集训营2(G-处女座与复读机)(将一个字符串变为另外一个字符串的最小步数:可替换可添加可删除)
链接:https://ac.nowcoder.com/acm/contest/327/G来源:牛客网题目描述一天,处女座在牛客算法群里发了一句“我好强啊”,引起无数的复读,可是处女座发现复读之后变成了“处女座好强啊”。处女座经过调查发现群里的复读机都是失真的复读机,会固定的产生两个错误。一个错误可以是下面的形式之一:1. 将任意一个小写字母替换成另外一个小写字母2...原创 2019-03-29 18:59:58 · 1419 阅读 · 0 评论 -
1575-我想满手鲜血(思路+LIS)
题目来源:http://acm.nyist.cf/problem/1575题目描述: 今天要处决一批犯人,zz国王想要饶恕这些犯人,但作为被人民称为最严执法官的你不同意。为此你和国王争吵不休,最后在大将军LJT的提议下,两人各退一步,由国王设置处决规则。(谁让zz是国王呢)规则:n名罪犯,一名执法人员只处决一名罪犯,给执法人员和罪犯每人一个编号(1-n),然后zz国...原创 2019-03-07 20:39:32 · 1333 阅读 · 0 评论 -
DP
链接:https://ac.nowcoder.com/acm/contest/373/B来源:牛客网题目描述在欧美,“666”是个令人极其厌恶和忌讳的数,被称为“野兽数”。相传,尼禄,这位历史上以暴君著称的古罗马皇帝,在一次罗马大火后,无端指控是基督徒焚烧了罗马,并对他们进行大肆镇压。尼禄死后,部分基督徒出于对尼禄的恐惧,相信他并没有死去,而且还会回到罗马来。圣经《新约·启示录》中...原创 2019-03-02 15:05:26 · 1331 阅读 · 1 评论 -
FatMouse's Speed (最长上升子序列+记录路径)
FatMouse's SpeedFatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possib...原创 2019-01-10 14:32:42 · 1498 阅读 · 0 评论 -
c++求最大子序和的三种算法(枚举+分治+联机)
问题给定整数: ,求 的最大值(为方便起见,如果所有的整数均为负数,则最大子序列和为0)例如对于输入:-2,11,-4,13,-5,-2,答案为20,即从到分析这个问题之所以有意思,是因为存在很多求解它的算法。解法一:穷举遍历老老实实的穷举出所有的可能,代码如下://计算并返回所最大子序列的和:穷举遍历int maxSubSum1(const vector<int...原创 2019-01-10 15:01:38 · 1983 阅读 · 0 评论 -
最长递增子序列
题目描述求一个字符串的最长递增子序列的长度如:dabdbf最长递增子序列就是abdf,长度为4输入第一行一个整数0<n<20,表示有n个字符串要处理随后的n行,每行有一个字符串,该字符串的长度不会超过10000输出输出字符串的最长递增子序列的长度样例输入3aaaababcabklmncdefg样例输出137提示来源N...原创 2019-01-11 18:10:48 · 1849 阅读 · 0 评论 -
Monkey and Banana(变形的最长递增序列)
A group of researchers are designing an experiment to test the IQ of a monkey. They will hang a banana at the roof of a building, and at the mean time, provide the monkey with some blocks. If the monk...原创 2019-01-14 13:38:10 · 1347 阅读 · 0 评论 -
初学者怎么理解动态规划
通过金矿模型介绍动态规划本文转载于https://blog.csdn.net/lyh__521/article/details/46595339 对于动态规划,每个刚接触的人都需要一段时间来理解,特别是第一次接触的时候总是想不通为什么这种方法可行,这篇文章就是为了帮助大家理解动态规划,并通过讲解基本的01背包问题来引导读者如何去思考动态规划。本文力求通俗易懂,无异性,...转载 2019-01-09 10:39:00 · 1540 阅读 · 0 评论 -
Pascal's Travels(记忆化搜索dp+dfs)
An n x n game board is populated with integers, one nonnegative integer per square. The goal is to travel along any legitimate path from the upper left corner to the lower right corner of the board. ...原创 2019-01-15 09:09:54 · 1452 阅读 · 0 评论 -
Humble Numbers (谦卑数 || 丑数)
Humble Numbers 题目来源:https://vjudge.net/contest/278033#problem/B || http://acm.hdu.edu.cn/showproblem.php?pid=1058A number whose only prime factors are 2,3,5 or 7 is called a humble number. The seq...原创 2019-01-09 14:37:27 · 2122 阅读 · 0 评论 -
数塔 (论递归 搜索 记忆化搜索 动态规划)
题目如下:在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗?Input输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,...原创 2019-01-15 10:01:45 · 1780 阅读 · 0 评论 -
I NEED A OFFER!(01背包,概率背包)
Speakless很早就想出国,现在他已经考完了所有需要的考试,准备了所有要准备的材料,于是,便需要去申请学校了。要申请国外的任何大学,你都要交纳一定的申请费用,这可是很惊人的。Speakless没有多少钱,总共只攒了n万美元。他将在m个学校中选择若干的(当然要在他的经济承受范围内)。每个学校都有不同的申请费用a(万美元),并且Speakless估计了他得到这个学校offer的可能性b。不同学校之...原创 2019-01-15 10:28:18 · 1429 阅读 · 0 评论 -
Eddy's research II (记忆化找规律)
As is known, Ackermann function plays an important role in the sphere of theoretical computer science. However, in the other hand, the dramatic fast increasing pace of the function caused the value of...原创 2019-01-15 10:49:09 · 1495 阅读 · 0 评论 -
免费馅饼 (继数塔)
好吧题面是免费馅饼都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径上接。由于gameboy平时老呆在房间里玩游戏,虽然在游戏中是个身手敏捷的高手,...原创 2019-01-15 10:55:02 · 1320 阅读 · 0 评论 -
FatMouse's Speed (最长递增子序列+记录路径+特判)
FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as large a subset of this data as possible into a sequence...原创 2019-01-15 11:12:18 · 1491 阅读 · 0 评论 -
Common Subsequence (最长公共子序列)
A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x2, ..., xm> another sequence Z = <z1, z2, ..., zk> is a subs...原创 2019-01-15 11:18:01 · 2124 阅读 · 0 评论 -
【LeetCode】Longest Common Subsequence最长公共子序列(求出某一解+LCS长度) - Medium
Longest Common Subsequence 给出两个字符串,找到最长公共子序列(LCS),返回LCS的长度。 说明 最长公共子序列的定义: • 最长公共子序列问题是在一组序列(通常2个)中找到最长公共子序列(注意:不同于子串,LCS不需要是连续的子串)。该问题是典型的计算机科学问题,是文件差异比较程序的基础,在生物信息学中也有所应用。 • https://en.wikipedi...转载 2019-01-15 11:30:55 · 1421 阅读 · 0 评论 -
Employment Planning (简单dp)
A project manager wants to determine the number of the workers needed in every month. He does know the minimal number of the workers needed in each month. When he hires or fires a worker, there will b...原创 2019-01-15 11:41:59 · 1433 阅读 · 0 评论 -
最少拦截系统 (dp(最长递增子序列)||贪心)
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.某天,雷达捕捉到敌国的导弹来袭.由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹. 怎么办呢?多搞几套系统呗!你说说倒蛮容易,成本呢?成本是个大问题啊.所以俺就到这里来求救了,请帮助计算一下最少需要多少套拦截系统...原创 2019-01-16 09:20:33 · 1299 阅读 · 0 评论 -
背包问题(简单dp)
首先不得不说的是dp真的很神奇(dp即动态规划,在我看来就是将最优解推到当前的一个状态转移过程,对于刚接触的小伙伴我建议手动模拟dp的过程这样才有助于理解dp)(好吧其实编程就是一个神奇的东西),对于昨晚刚学背包的我,对于2个多小时被学长灌输所有背包知识的我,现在还是有点蒙的,下面记录下我水题的记录以及各种背包模板(只记录优化之后的,如果读者有更优的代码欢迎评论区留言)钱币兑换问题在一个国...原创 2018-12-28 17:37:31 · 1616 阅读 · 3 评论