![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动规
ChenyangDu
这个作者很懒,什么都没留下…
展开
-
洛谷 P1064 金明的预算方案 NOIP 2006 动规 背包
题目链接: 点我跳转题目大意: 和01背包相比,物品的附件(最多两个)必须在选取了该物品的前提下才可以选择题目分析: 如果是01背包,我们针对每一个物品考虑的情况有不买电脑买电脑而现在的选择变成了不买电脑买电脑买电脑+打印机买电脑+扫描仪买电脑+打印机+扫描仪那我们的思路就很清晰了,不是01背包,而是01234背包(我自己瞎起的)int dp[32005],v[6...原创 2019-02-01 15:37:19 · 181 阅读 · 0 评论 -
洛谷 P1115 最大子段和 前缀和 动规
题目链接: 点我跳转题目大意:给出一段序列,选出其中连续且非空的一段使得这段和最大。题目分析:刚开始想到想到尺取法去了,显然尺取法不能取出最大的一段,不适合此类题型。既然是一段的和,很自然地应该想到前缀和,然后只要求出ai−aj(i>j)a_i-a_j (i>j)ai−aj(i>j)的最大值就OK了。我觉得这个可以算动规,从右向左遍历,不断更新当前右侧的最...原创 2019-01-29 14:01:37 · 230 阅读 · 0 评论 -
洛谷 P1541 乌龟棋
题目链接:点我跳转题目大意: 一个N×1的棋盘,棋盘上有数字,从第一格开始,每次可以向前1/2/3/4格,向前不同格数的次数有限,怎样使得取得的数字和最大题目分析: 四重动规,做四次循环就好了#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#includ...原创 2019-02-03 16:45:02 · 179 阅读 · 0 评论 -
洛谷 P1855 榨取kkksc03
题目链接: 点我跳转题目大意: emmmm就是个双重背包题目分析: 只要在01背包的基础上稍加修改就OK了#include<iostream>#include<cstdio>#include<cstring>#include<cmath>#include<algorithm>using namespace std;i...原创 2019-02-03 13:52:11 · 247 阅读 · 0 评论 -
洛谷 P1387 最大正方形 动规
题目链接: 点我跳转题目大意: 在一个n*m的只包含0和1的矩阵里找出一个不包含0的最大正方形题目分析: 如果在某一位置存在一个k阶的正方形(黑色)那么内部一定存在4个k-1阶的小正方形(彩色)我们令 dp[i,j,l]=1dp[i,j,l]=1dp[i,j,l]=1 表示在(i,j)(i,j)(i,j)这个位置,存在一个边长为lll的正方形,那么我们的状态转移方程就是dp[i,j,l]...原创 2019-02-03 13:41:27 · 257 阅读 · 0 评论 -
洛谷 P1508 Likecloud-吃、吃、吃 动规
题目链接: 点我跳转题目大意: 给定一个矩阵,从最下方正中间一点出发,可以向上、左上、右上前进,寻找一条路径,使得路径上数字和最大。题目分析: 也就是个数字金字塔的变形(不懂数字金字塔的百度吧。。。点这里)#include<iostream>#include<cstdio>#include<cstring>#include<vector>...原创 2019-02-03 12:27:31 · 204 阅读 · 0 评论 -
洛谷 P1280 尼克的任务 动规
题目链接: 点我跳转题目大意: 已知一系列任务的开始时间和持续时间,对于一个人来说,相同开始时间的任务只需选择一个,如果某空闲时刻只有一个任务,那么必须完成,同一时间只能做一个任务,问:怎样做任务空闲时间最多题目分析: 对于某一时刻,有多个相同任务的时候,我们应当选择当任务结束时,可以获得尽可能多的休息时间的那个任务。不妨设dp[i]dp[i]dp[i]表示如果在第iii分钟前没事干了(空闲或...原创 2019-02-02 13:49:24 · 184 阅读 · 0 评论 -
洛谷 P1880 [NOI1995]石子合并 动规
题目链接: 点我跳转题目大意: 一个环形的数列,每次合并相邻的两个数,两数之和为得分,求合并所有数的最小得分和最大得分。题目分析: 很经典的题了,我们可以将环形切开,在链上考虑合并情况。(以下有关区间的讨论全部在左闭右开的情况下讨论)我们首先来考虑最小得分的情况。对于每一条链上的合并情况,我们可以将链分成两条较短的链进行考虑。也就是[s,t)[s,t)[s,t)可以分成[s,m)[s,m)...原创 2019-02-02 12:05:34 · 241 阅读 · 0 评论 -
洛谷 P1091 合唱队形 动规
题目链接: 点我跳转题目大意: 从一个队列中删除尽可能少的数,使其成为一个中间高,两边低的数列题目分析: 看到这个,我们很容易想到最长上升子序列,那么我们如何应用LIS呢?我们可以枚举最高点,计算最高点左侧的最长上升子序列和右侧的最长下降子序列(这里需要包含最高点),再用总人数减去二者的和,就可以求出需要出列的人数。#include&lt;iostream&gt;#include&lt;c...原创 2019-02-01 21:48:26 · 222 阅读 · 0 评论 -
洛谷 P1233 木棍加工 思维+动规
题目链接: 点我跳转题目大意: 一堆木头拥有l,w两个值,必须按照l<=l’&&w<=w’的顺序才能排成一队,求多少组。题目分析: 可以先按长度从大到小排序,然后在宽度里面只要选择出最长上升子序列就行了(为啥,自行百度偏序定理)#include<iostream>#include<cstdio>#include<cstring&...原创 2019-02-08 14:37:32 · 312 阅读 · 0 评论