JDOJ 1506: VIJOS-P1421 更换轮胎

https://neooj.com/oldoj/problem.php?id=1506

Description

经过数周的期待,比赛终于正式开始。 不过天公不作美,今天的天气十分诡异,一会儿下雨,一会儿刮风。要知道,天气的变化对F1比赛的影响是巨大的,恶劣的天气甚至会严重干扰赛车手发挥。因此,各车队的总指挥都会在赛前根据赛道环境和天气的变化为车手制定一系列周密的计划。幸运的是,F1专用气象站拥有最顶尖的技术,能够精确测量出每一圈的天气情况,这大大降低了计划的风险。 在计划中,对轮胎的正确选择是至关重要的。每一场比赛,赛会都会提供给各赛车不同总类的轮胎(每种轮胎数量不限)。出发时,各赛车可根据需要使用任意一种轮胎。以后每过一圈,赛车可以选择不更换轮胎继续前进,或者进维修站更换任一种轮胎,但需要消耗一定的换胎时间。 通过测试,换胎时间和各种轮胎在各圈所消耗的单圈时间已精确测出,你能帮车队求出完成比赛的最短时间么?

Input

第一行是三个整数n,m,c(1< =n< =1000,1< =m< =1000,1< =c< =1000000),分别表示总圈数,轮胎种类数和换胎时间。接下来n行,每行m个整数,第i行第j个是tij(1< =tij< =1000000),表示在第i圈时第j种轮胎所消耗的单圈时间。

Output

一个整数s,表示最短的总时间。

Sample Input

【样例输入】 4 3 30 50 60 100 70 50 100 10 50 90 100 30 10

Sample Output

【样例输出】 170

HINT

30%的数据满足n< =15,m< =2

动态规划的一道题。(脑补了很多评价但是没有说出来)

输入没问题。

状态就设置dp[i][j]为第i圈第j种轮子的最小时间。

然后我们再考虑设置一个变量mint,存上一圈的最小值。(动归中要用,注意这里的最小值跟轮子没关系)

剩下的我不解释了,看代码把。

#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
int n,m,c,mint,ans;
int t[][];
int dp[][];
int main()
{
scanf("%d%d%d",&n,&m,&c);
for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
scanf("%d",&t[i][j]);
memset(dp,0x3f,sizeof(dp));
mint=;
for(int i=;i<=m;i++)
dp[][i]=t[][i];
for(int i=;i<=n;i++)
{
mint=;
for(int k=;k<=m;k++)
mint=min(mint,dp[i-][k]);
for(int j=;j<=m;j++)
dp[i][j]=min(dp[i-][j],mint+c)+t[i][j];
}
ans=;
for(int i=;i<=m;i++)
ans=min(ans,dp[n][i]);
printf("%d",ans);
return ;
}

VIJOS-P1421 更换轮胎的更多相关文章

  1. Ping!

    我知道我很久没有更新这个博客了,所以特意来更新一下,骚扰一下各位订户.我有几年没有写过很具体跟技术相关的文章了,而跟职业发展相关的文章也半年没更新了,所以最近准备开始写写技术文章.在此之前,我要先完结 ...

  2. UML中类之间的几种关系

    类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalizatio ...

  3. 途虎养车Tuhu商城系统开发

    途虎养车Tuhu商城系统开发,咨询:何经理152-2217-7508(微信同号)途虎养车商城小程序开发,途虎养车商城小程序平台开发,途虎养车商城小程序系统开发. 为什么能做得这么好,里面的门道确实不少 ...

  4. [UML] UML中类之间的几种关系

    类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition).泛化(generalizatio ...

  5. java面试(6)

    1  六大原则 详情参考:设计模式六大原则(转载). 2  UML类之间关系有几种?聚合和组合区别? 类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(A ...

  6. 类与类之间的关系UML模型图

    关联.依赖.聚合.组合.泛化.实现 类之间可能存在以下几种关系:关联(association).依赖(dependency).聚合(Aggregation,也有的称聚集).组合(Composition ...

  7. Linux运维工程师前景

    什么是Linux运维 如果我们是一辆高速行驶在高速公路上的汽车,那运维工程师就是司机兼维修工,这个司机可不简单,有时需要在高速行驶过程中更换轮胎.并根据道路情况换档位.当汽车速度越来越快时,汽车本身不 ...

  8. DDD 领域驱动设计之面向对象思想

    面向对象 面向对象是一种对世界理解和抽象的方法.那么对象是什么呢? 对象是对世界的理解和抽象,世界又代称为万物.理解世界是比较复杂的,但是世界又是由事物组成的. 正是这样的一种关系,认识事物是极其重要 ...

  9. 如何应对外包公司(文思海辉)的Python后端面试

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_151 最近春招如火如荼,我接触到的几位同学也纷纷去市场里试了试水,不得不说由于疫情的影响,导致目前中等水平的开发者择业有了些许困难 ...

随机推荐

  1. Python apply函数

    Python apply函数 1.介绍 apply函数是pandas里面所有函数中自由度最高的函数.该函数如下: DataFrame.apply(func, axis=0, broadcast=Fal ...

  2. NETCore下IConfiguration和IOptions的用法(转载)

    原文:https://www.jianshu.com/p/b9416867e6e6 新建一个NETCore Web API项目,在Startup.cs里就会开始使用IConfiguration和IOp ...

  3. Identity Server4资料

    https://www.cnblogs.com/cgzl/p/9405796.html https://www.cnblogs.com/cgzl/p/7780559.html https://clou ...

  4. Vue.js 源码分析(一) 代码结构

    关于Vue vue是一个兴起的前端js库,是一个精简的MVVM.MVVM模式是由经典的软件架构MVC衍生来的,当View(视图层)变化时,会自动更新到ViewModel(视图模型),反之亦然,View ...

  5. HDU-1760 A New Tetris Game DFS

    曾经,Lele和他姐姐最喜欢,玩得最久的游戏就是俄罗斯方块(Tetris)了. 渐渐得,Lele发觉,玩这个游戏只需要手快而已,几乎不用经过大脑思考. 所以,Lele想出一个新的玩法. Lele和姐姐 ...

  6. 解决Chrome插件安装时程序包无效【CRX_HEADER_INVALID】的错误

    将[.crx]后缀的文件拖拽至谷歌浏览器开发者模式下的扩展程序管理页签时,报错[CRX_HEADER_INVALID],即此插件无效的错误. 安装失败的原因 原因在于谷歌浏览器在新版本中添加对第三方插 ...

  7. 【MySQL】条件查询之排序聚合分组分页查询

    排序查询 语法:order by 子句 order by 排序字段1 排序方式1 , 排序字段2 排序方式2... 排序方式: ASC:升序,默认的. DESC:降序. 注意: 如果有多个排序条件,则 ...

  8. 服务器部署Laravel

    安装lnmp环境 参考:简书 - Centos 7 下安装LNMP官方最新版 安装redis 参考:简书 - Centos 7下使用yum安装redis 安装nodejs npm nodejs分8.x ...

  9. .NET Core RabbitMQ探索(1)

    RabbitMQ可以被比作一个邮局,当你向邮局寄一封信时,邮局会保证将这封信送达你写的收件人,而RabbitMQ与邮局最主要的区别是,RabbitMQ并不真的处理信件,它处理的是二进制的数据块,它除了 ...

  10. CentOS 6.9安装MySQL 5.6 (使用yum安装)

    CentOS 6.9安装MySQL 5.6 (使用yum安装) 移除CentOS默认的mysql-libs [root@test01 srv]# whereis mysqlmysql: /usr/li ...