很容易想到f[i]为前i项的最优价值,但是我一直在纠结如果重量满了该怎么办。

正解有点枚举的味道。

就是枚举当前这辆车与这辆车以前的组合一组,在能组的里面取最优的。

然后要记得初始化,因为有min,所以除0外初始化为最大,f[0] = 0

这实际上可以抽象出一种模型,就是一个区间线性分组的模型,都可以用这道题的方法写。

#include<cstdio>
#include<algorithm>
#include<cmath>
#define REP(i, a, b) for(int i = (a); i < (b); i++)
using namespace std;typedef long long ll;
const int MAXN = 1123;
double v[MAXN], f[MAXN];
int w, len, n;
ll a[MAXN];int main()
{scanf("%d%d%d", &w, &len, &n);REP(i, 1, n + 1){int x, y;scanf("%d%d", &x, &y);a[i] = a[i - 1] + x;v[i] = len / (double)y * 60.0;}f[0] = 0.0;REP(i, 1, n + 1){f[i] = 999999999999999.0; //一定要开很大,否则WA double t = 0;for(int j = i; j >= 1; j--){if(a[i] - a[j - 1] > w) break;t = fmax(t, v[j]);f[i] = fmin(f[i], f[j - 1] + t);}}printf("%.1lf\n", f[n]);return 0;
} 

转载于:https://www.cnblogs.com/sugewud/p/9819433.html

caioj 1066 动态规划入门(一维一边推4:护卫队)(分组型dp总结)相关推荐

  1. caioj 1063 动态规划入门(一维一边推1:美元和马克)

    这道题一开始我是这么想的 最后的答案肯定是某次的马克换回来的,但这个该怎么确定?? 实际上应该把范围缩小,只看最后一次和倒数第二次之间有什么联系. 可以发现,只有两种可能,最后一天换或者不换.换的话就 ...

  2. caioj 1069 动态规划入门(二维一边推2:顺序对齐)(最长公共子序列拓展总结)

    caioj 1068是最长公共子序列裸体,秒过, 就不写博客了 caioj 1069到1071 都是最长公共字序列的拓展,我总结出了一个模型,屡试不爽    (1) 字符串下标从1开始,因为0用来表示 ...

  3. 洛谷P1280 caioj 1085 动态规划入门(非常规DP9:尼克的任务)

    这道题我一直按照往常的思路想 f[i]为前i个任务的最大空暇时间 然后想不出来怎么做-- 后来看了题解 发现这里设的状态是时间,不是任务 自己思维还是太局限了,题做得太少. 很多网上题解都反着做,那么 ...

  4. caioj 1081 动态规划入门(非常规DP5:观光游览)

    这道题和前面的分组的题有点像 就是枚举最后一组的长度. 然后组数可以在第一层循环也可以在第二层循环 我自己的话就统一一下在第一层循环吧 然后这道题题意我一直没理解清楚,浪费了很多时间,写复杂了 同时初 ...

  5. caioj 1077 动态规划入门(非常规DP1:筷子)

    首先可以看出排序之后,最优解肯定是每一对都相邻才是最优的 那么我们就要找构成最优解的相邻组 设f[i][j]是前i个字符,k对的最小值 如果当前这个筷子不取的话,f[i][j] = f[i-1][j] ...

  6. 动态规划入门到熟悉,看不懂来打我啊

    动态规划入门到熟悉,看不懂来打我啊 兔子hebtu666 本文链接:https://blog.csdn.net/hebtu666/article/details/100585136 2.1斐波那契系列 ...

  7. LQ训练营(C++)学习笔记_动态规划入门

    动态规划入门 五.动态规划入门 1.动态介绍 1.1动态规划基本思路 1.2 动态规划基本概念 1.2.1 阶段 1.2.2 状态 1.2.3 决策 1.2.4 状态转移方程 1.2.5 策略 1.3 ...

  8. 动态规划入门问题:猴子与香蕉

    动态规划入门问题猴子与香蕉 一.猴子与香蕉 题目描述 一组研究人员正在设计一个测试猴子IQ的实验.他们把香蕉吊在屋顶上,同时给猴子提供了砖块.如果猴子够聪明,它会把砖块一个个叠起来做成一个塔,然后爬上 ...

  9. 动态规划入门之国王的金矿

    最近学习算法,对动态规划不太了解,使用的时候照搬转移方程式,知其然不知其所以然,今天看到一篇动态规划的教程,解释得非常通俗,原文在这里[动态规划入门教程] (http://blog.csdn.net/ ...

最新文章

  1. 来啦!机器学习画图神器来啦!
  2. pandas使用idxmin函数获取dataframe每个数据行中最小值对应的列名称(column label of min value in each row in dataframe)
  3. 【学术笔记】探索大脑静息态活动中的动态信息
  4. easyUI的图标设置
  5. Cygwin复制,粘贴 直接用鼠标在黑框上选区即可,选区结束就已经复制了。cygwin里面Ctrl+V是不能粘贴的,用Shfit+ Insert(键盘上下左右方向键的上面) Cygwin 下切换目
  6. CDC之CreateCompatibleDC与BitBlt
  7. python图片保存_python读取和保存图片5种方法对比
  8. mvc html传参数乱码,SpringMVC Controller 接收页面传递的中文参数出现乱码
  9. 使用dockerfile自动化构建镜像
  10. 使用webpack、babel、react、antdesign配置单页面应用开发环境
  11. java runnable 异常_Java实现多线程异常捕获Runnable的案例
  12. 重置物体的position, rotation, scale,复制物体的组件
  13. arm服务器虚拟x86,云服务器arm64和x86
  14. 打印机怎么设置扫描到计算机,打印扫描一体机怎么扫描_怎样用打印机扫描文件到电脑-win7之家...
  15. 象棋马走日UML类图
  16. stm32f7 java_STM32F7开发-安装MDK超详细操作步骤
  17. 在github上写脚注的方法 markdown
  18. 蓝色理想:讲解网络端口及其详解的一个好网址
  19. 重庆生小孩可以领那些钱
  20. Mysql并发读写解决方案分析--MVCC

热门文章

  1. gmock学习01---Linux配置gmock
  2. 《 Python树莓派编程》——第1章 树莓派简介 第1.1 树莓派的历史
  3. C#学习笔记——读写ini文件
  4. 1130 - Host ‘win7' is not allowed to connect to this mysql server
  5. hdu4821 字符串hash(有多少(M*L长的,M个不相同)子串))
  6. javascript setinterval 正确的语法
  7. [推荐]番茄工作法——专治拖延症、精神涣散、再要五分钟综合症
  8. Exchange 2010之接受域
  9. ocr python opencv_如何使用(opencv/python)来实现OCR处
  10. 允许多域名跨域 php,php后端控制可跨域的域名,允许图片跨域上传