
DP
c_uizrp_dzjopkl
这个作者很懒,什么都没留下…
展开
-
数塔问题(数字三角形)(二维递推——DP)
题面(from luogu) [USACO1.5]数字三角形 Number Triangles 观察下面的数字金字塔。 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。 7 3 8 8 1 0 2 7 4 4 4 5 2 6 ...原创 2018-08-09 17:36:39 · 744 阅读 · 0 评论 -
平衡方案(统计使天平平衡的方案数——每个砝码数量无限)
平衡方案Description天平的一侧物体重量为M,该天平有N种砝码,每种砝码都有很多,求保持天平平衡,砝码搭配的方案数。Input第二行两个整数N,M第二行N个整数,表示各种砝码的重量Output一个整数 ANS 表示所有非负整数对(X1,X2,。。。Xn)的个数,如果答案超过了9位数,你只需输出ANS mod 10^9的值即可。Sample Input Copy5 51 ...原创 2019-08-14 20:24:47 · 1585 阅读 · 0 评论 -
平衡方案(统计使天平平衡的方案数)
平衡方案Description天平的一侧物体重量为M,该天平有N个砝码,求保持天平平衡,砝码搭配的方案数。Input第二行两个整数N,M第二行N个整数,表示各个砝码的重量Output一个整数 ANS 表示所有非负整数对(X1,X2,。。。Xn)的个数,如果答案超过了9位数,你只需输出ANS mod 10^9的值即可。Sample Input Copy5 51 2 3 4 5S...原创 2019-08-14 20:06:45 · 584 阅读 · 0 评论 -
不相邻最大和
DescriptionN个数的序列,选出任意个,要求不能相邻,求不相邻的最大和。Input第一行是一个正整数 N。第二行是N 个用空格隔开的正整数。Output只有一个正整数,为不相邻的最大和。Sample Input53 10 8 20 21Sample Output325≤n≤10000001≤每个数≤500题目分析:这个很明显是一道DP题qwq因为对一个数,我...原创 2019-04-06 10:47:59 · 880 阅读 · 0 评论 -
最长不下降子序列
最长不下降子序列这个问题在DP中是很经典的,可以很好的用来理解DP的思想设有一集合An={a1,a2,a3…an},求其中的最长不下降子序列我们可以将这个问题分解为多个子问题,分步求解设有一数组:f[i]表示到第i个元素时的最长不下降子序列的长度由此,我们便可以枚举,求出从第i个到第j个(j>i)的最长不下降子序列的长度,逐一比较,筛得最优到这里我们便得到大体的程序框架了:...原创 2018-12-17 20:15:09 · 235 阅读 · 0 评论 -
租用游艇
题面(from luogu)租用游艇长江游艇俱乐部在长江上设置了n 个游艇出租站1,2,…,n。游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i 到游艇出租站j 之间的租金为r(i,j),1<=i<=j<=n。试设计一个算法,计算出从游艇出租站1 到游艇出租站n 所需的最少租金。对于给定的游艇出租站i 到游艇出租站j 之间的租金为r(i,j...原创 2018-12-22 09:41:44 · 568 阅读 · 0 评论 -
最长公共子序列
最长公共子序列很经典的DP题我们设有两个集合:An={a1,a2,a3…an};Bm={b1,b2,b3…bm}那么A和B的最长公共子序列则为Zk这种问题是显然的最优子结构,具有一定的递归性质那么,我们便可以很容易的想出3种情况:将其转化为递归性的结构也便是:于此,我们边能很容易的写出代码了#include <bits/stdc++.h>using namesp...原创 2018-12-22 09:14:25 · 134 阅读 · 0 评论 -
DP要素
动态规划算法的基本要素:(1)最优子结构当问题的最优解包含了其子问题的最优解时,称该问题具有最优子结构性质。问题的最优子结构性质提供了该问题可用动态规划算法求解的重要线索。(2)重叠子问题可用动态规划算法求解的问题应具备的另一个基本要素是子问题的重叠性质。在用递归算法自顶向下解此问题时,每次产生的子问题并不总是新问题,有些子问题被反复计算多次。动态规划算法正是利用了这种子问题的重叠性质,对...原创 2018-12-22 08:46:59 · 388 阅读 · 0 评论 -
神奇的四次方数
题面(from luogu)神奇的四次方数在你的帮助下,v神终于帮同学找到了最合适的大学,接下来就要通知同学了。在班级里负责联络网的是dm同学,于是v神便找到了dm同学,可dm同学正在忙于研究一道有趣的数学题,为了请dm出山,v神只好请你帮忙解决这道题了。题目描述:将一个整数m分解为n个四次方数的和的形式,要求n最小。例如,m=706,706=5^4 +3^4,则n=2。输入格式:一行...原创 2018-11-25 11:10:45 · 572 阅读 · 0 评论 -
背包问题
导语背包问题是DP(动态规划)的入门题型,对我们从理解DP到熟练的掌握DP有着举足轻重的作用题型分类(以上是笔者本菜鸡知道的,应该是全的,若有不周,请包涵,逃 )问题处理①01背包有 N 件物品和一个容量为 M 的背包。第i件物品的费用(即体积)是 w[i] ,价值是 v[i] 。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最大。分析:基础的DP,以D...原创 2018-11-04 00:07:59 · 230 阅读 · 0 评论 -
最大子段和(线性模拟)
题面(from luogu) 最大子段和 给出一段序列,选出其中连续且非空的一段使得这段和最大。输入格式: 第一行是一个正整数 N ,表示了序列的长度。 第二行包含 N 个绝对值不大于 10000 的整数 Ai ,描述了这段序列。 输出格式: 一个整数,为最大的子段和是多少。子段的最小长度为 1 。 样例.in 7 2 -4 3 -1 2 -4 3 样例.out 4 ...原创 2018-08-11 15:19:09 · 265 阅读 · 0 评论 -
完全背包 && 多重背包
完全背包Description有N种物品和一个容量为V的背包,每种物品都有无限件可用。第i种物品的体积是v[i],价值是p[i]。求解将哪些物品装入背包可使这些物品的体积总和不超过背包容量,且价值总和最大。Input第一行两个整数为V和N以下N行,每行两个整数为v[i]和p[i]Output体积总和不超过背包容量价值最大值Sample Input Copy10 42 13 3...原创 2019-08-14 20:40:10 · 240 阅读 · 0 评论