![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
lzoi_hmh
蒟蒻一枚
展开
-
NOIP 2007普及组 守望者的逃离 DP详解
题目描述恶魔猎手尤迪安野心勃勃,他背叛了暗夜精灵,率领深藏在海底的娜迦族企图叛变。守望者 在与尤迪安的交锋中遭遇了围杀,被困在一个荒芜的大岛上。为了杀死守望者,尤迪安开始对这 个荒岛施咒,这座岛很快就会沉下去。到那时,岛上的所有人都会遇难。守望者的跑步速度为 17m/s,以这样的速度是无法逃离荒岛的。庆幸的是守望者拥有闪烁法术,可在1s内移动60m,不 过每次使用闪烁法术都会消耗魔法值10点原创 2017-08-12 16:18:52 · 735 阅读 · 0 评论 -
NOIP 2006提高组 能量项链
经典环形dp问题#include <iostream>#include <cstring>#include <cmath>using namespace std;int lenght=0,DG[2005][2005]={0};int li[2005][2]={0};int DP(int lf,int rt);int main(void){ cin>>lenght; for(int i原创 2017-08-12 18:29:12 · 251 阅读 · 0 评论 -
NOIP 2001普及组 装箱问题详解
这道题是01背包的经典例题核心保存状态的数组f[],f[i]表示容量为i时的最优解 两重循环,第一层枚举物品,第二层枚举所有容量,而状态转移方程的核心就是选不选择这种物品两种情况,f[i]就相当于不选,保持原来的状态;f[i-a[i]]+a[i]相当于选,就是把当前容量v-当前物品体积a[i]时的最优解加上当前物品体积原创 2017-08-13 15:37:23 · 1878 阅读 · 0 评论 -
NOIP 2005提高组 过河(状压DP) 详解
题目描述在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,……,L(其中L是桥的长度)。坐标为0的点表示桥的起点,坐标为L的点表示桥的终点。青蛙从桥的起点开始,不停的向终点方向跳跃。一次跳跃的距离是S到T之间的任意正整数(包括S,T)。当原创 2017-08-13 17:08:20 · 902 阅读 · 0 评论 -
NOIP 2000普及组 乘积最大 详解
经典DP题,f[i][j] 表示在前i个数字中插入j个乘号时的最大乘积,num[i][j]表示从第i个字符到第j个字符之间的数字,i从0开始 状态转移方程:f[i][j]=max(f[k][j-1]*num[k][i-1]),1<=k#include <iostream>#include <iomanip>#include <cstring>#include <algorithm>usin原创 2017-08-20 16:12:57 · 1466 阅读 · 0 评论 -
Vijos1334 NASA的食物计划
#include <iostream>#include <cstring> using namespace std;int a[1001],b[1001],c[1001],f[1001][1001];int main(){ memset(f,0,sizeof(f)); int i,j,k,l,n,m; cin>>m>>k; cin>>n; for(i=1原创 2017-09-04 13:55:34 · 214 阅读 · 0 评论 -
洛谷1594 护卫队(动态规划) 解析
题目护卫车队在一条单行的街道前排成一队,前面河上是一座单行的桥。因为街道是一条单行道,所以任何车辆都不能超车。桥能承受一个给定的最大承载量。为了控制桥上的交通,桥两边各站一个指挥员。护卫车队被分成几个组,每组中的车辆都能同时通过该桥。当一组车队达到了桥的另一端,该端的指挥员就用电话通知另一端的指挥员,这样下一组车队才能开始通过该桥。每辆车的重量是已知的。任何一组车队的重量之和不能超过桥的最大承重量。原创 2017-08-27 15:50:28 · 1017 阅读 · 0 评论 -
NOIP 2005普及组 采药 详解
思路简单的01背包裸题(如果不知道什么是01背包的话去搜一搜),用f[j]表示时间为j时的最优解 需要注意的是如果用一维,第二层循环内的j一定要从大到小逆推。因为当我们枚举到i,假设此时正在求解f[6],我们需要用带到上一层的f[3]的值。如果是顺序枚举的话,那么第i-1层的f[3](也就是不能取第i株草药的f[3])的值很可能已经被第i层的f[3](也就是能取第i株草药的f[3])的值所覆盖了(原创 2017-10-05 17:35:41 · 1033 阅读 · 0 评论