题目链接:https://www.rqnoj.cn/problem/169

题意:

  给出行驶1~10公里的费用(所有车一样),可以倒车,问行驶n公里的最小费用。

题解:

  大水题。。。 (=´ω`=)

  表示状态:

    dp[i] = min cost

    i:行驶了i公里

  找出答案:

    ans = dp[n]

  如何转移:

    now: dp[i]

    dp[i+j] = min dp[i] + c[j]

    枚举倒车行驶j公里

  边界条件:

    dp[0] = 0

    others = -1

AC Code:

 1 // state expression:
 2 // dp[i] = min cost
 3 // i: drove i km
 4 //
 5 // find the answer:
 6 // ans = dp[n]
 7 //
 8 // transferring:
 9 // now: dp[i]
10 // dp[i+j] = min dp[i] + c[j]
11 //
12 // boundary:
13 // dp[0] = 0
14 // others = -1
15 #include <iostream>
16 #include <stdio.h>
17 #include <string.h>
18 #define MAX_N 105
19 #define MAX_L 15
20
21 using namespace std;
22
23 int n;
24 int c[MAX_L];
25 int dp[MAX_N];
26
27 void read()
28 {
29     for(int i=1;i<=10;i++)
30     {
31         cin>>c[i];
32     }
33     cin>>n;
34 }
35
36 void solve()
37 {
38     memset(dp,-1,sizeof(dp));
39     dp[0]=0;
40     for(int i=0;i<n;i++)
41     {
42         if(dp[i]!=-1)
43         {
44             for(int j=1;j<=10;j++)
45             {
46                 if(dp[i+j]==-1 || dp[i+j]>dp[i]+c[j])
47                 {
48                     dp[i+j]=dp[i]+c[j];
49                 }
50             }
51         }
52     }
53 }
54
55 void print()
56 {
57     cout<<dp[n]<<endl;
58 }
59
60 int main()
61 {
62     read();
63     solve();
64     print();
65 }

转载于:https://www.cnblogs.com/Leohh/p/7461307.html

RQNOJ 169 最小乘车费用:水dp相关推荐

  1. ssl1643-最小乘车费用【dp练习】

    最小乘车费用 题目 假设某条街上每一公里就有一个公共汽车站,并且乘车费用如下表: 而任意一辆汽车从不行驶超过10公里.某人想行驶n公里,假设他可以任意次换车,请你帮他找到一种乘车方案,使得总费用最小 ...

  2. 【完全背包】最小乘车费用

    题目:最小乘车费用 rqnoj169 题目描述 假设某条街上每一公里就有一个公共汽车站,并且乘车费用如下表: 公里数 1 2 3 4 5 6 7 8 9 10 费用 12 21 31 40 49 58 ...

  3. NOJ 1401 乘车费用 (线性dp 0/1背包)

    乘车费用 时间限制(普通/Java):1000MS/3000MS         运行内存限制:65536KByte 描述 lqp家离学校十分十分远,同时他又没有钱乘taxi.于是他不得不每天早早起床 ...

  4. 19. 最小乘车费用

    题目描述 上海市的出租车计价规则是这样的:不考虑延时等待的问题,起步费为11元,可以行驶3公里:接下来的7公里,每公里为2元:如果路途总距离超过10公里,则剩余的路程为每公里3元.不到1公里时,按照1 ...

  5. NOJ-1401 乘车费用 题解要点

    这是我的第一道动态规划题目 其实质是一个 带权的 固定路的 DAG 问题 以下是初学DP解题时容易犯的一些错误和要点 1.状态转移方程 d(i)=min{d(i),d(n-i)+w(i)} 2.求取最 ...

  6. python乘车费用 青少年编程电子学会python编程等级考试二级真题解析2020年6月

    目录 python乘车费用 一.题目要求 1.编程实现 2.输入输出 3.评分标准

  7. hdu4907 水dp 或者set

    题意:       给你一些被占用的时间点,然后有一些询问,每次输出大于等于询问时间的没被占用的最小的那个时间. 思路:       直接把所有用过的时间标记上,然后倒着更新一遍当前最小空余时间,或者 ...

  8. 【POJ - 1463】Strategic game (树上最小点覆盖,树形dp)

    题干: Bob enjoys playing computer games, especially strategic games, but sometimes he cannot find the ...

  9. 网络流 最大流 最小割 费用流

    [腾讯文档]网络流初步 网络流初步 文章目录 网络流初步 一.网络流简介 1. 网络 2. 流 3. 再次理解网络流 二.常见题型(三种) 三.相关问题对应算法介绍 1.最大流 (1) FF算法 - ...

最新文章

  1. 怎么添加设置微信定位服务器,微信的定位怎么添加
  2. Java对象的序列化与反序列化
  3. 《C和指针》读书笔记
  4. 第四章 第四节 per_cpu
  5. matplotlib给坐标轴特定的位置加上文字
  6. UVA 1411 - Ants(二分图完美匹配)
  7. DataBindings的用法
  8. WPF中INotifyPropertyChanged用法与数据绑定
  9. 厦门理工学院计算机毕业要求,计算机教学中心-厦门理工学院教务处.PDF
  10. 分布式开源调度框架TBSchedule原理与应用
  11. Swift学习笔记 -- 枚举和结构
  12. 基于n元语言模型整句拼音汉字转换
  13. 中继器系列:中继器增删改查
  14. 利用朴素贝叶斯算法解决“公园凉鞋问题”
  15. 服务器部署jdk,tomcat环境及腾讯云域名解析
  16. 条码固定资产管理系统的作用,固定资产条码化管理
  17. iOS 开发者账号持有人转让最新方式
  18. 解决pdf不能打印,不能注释,不能修改,不能保存等文档限制
  19. Emlog程序百度熊掌号一键集成+自动推送插件
  20. 简单短波收音机电路基于 TA7642

热门文章

  1. Spring+Dubbo+MyBatis+Linner分布式Web开发环境搭建
  2. ModelSim+Synplify+Quartus的Alte
  3. 计算机高级办公软件教案,《Office 2010办公软件高级应用》教学教案.doc
  4. 2021工作总结汇报PPT模板
  5. OSI七层模型每层作用
  6. 怎么在Powerpoint幻灯片插入页码及其相关问题?
  7. Freeline秒速编译Android项目详细安卓配置流程
  8. Tika结合Tesseract-OCR 实现光学汉字识别(简体、宋体的识别率百分之百)—附Java源码、测试数据和训练集下载地址...
  9. html5游戏发行,UC游戏成国内最大HTML5游戏发行平台
  10. mysql tcl 安装教程_TCL电视安装第三方应用软件的方法_简便教程