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. 15 C++遍历某个文件夹下的文件

    1 遍历所有的,包括文件夹套文件夹 #include<iostream> #include<string> #include<io.h> #include<c ...

  2. C语言前置知识汇编基础--总线【地址总线,控制总线,数据总线】练习题

    寻址就是用一个数字表示一个字节存储单元的地址,而不是表示这个存储单元中的内容,所以不用乘以8. 1. 1个CPU的寻址能力为8KB,那么它的地址总线宽度是多少? 8*1024=8192     共有8 ...

  3. git 关联vs code

    {     "window.zoomLevel": 1,     "editor.fontSize": 15,     "gitlens.advanc ...

  4. hibernate中flush()、refresh()、clear()缓存操作

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~分割线~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ flush():使数据库中的对象和session缓存中的对象的状态 ...

  5. MySQL实战45讲学习笔记:第三十七讲

    一.本节概况 今天是大年初二,在开始我们今天的学习之前,我要先和你道一声春节快乐! 在第 16和第 34篇文章中,我分别和你介绍了 sort buffer.内存临时表和 join buffer.这三个 ...

  6. JDBC数据库连接测试工具

    贴代码 import java.io.PrintStream; import java.sql.*; import java.util.Properties; public class ZJdbcPi ...

  7. golang基础之第一个go程序

    编写 Hello World 创建文件 hello.go,不写入任何内容.按照如下的命令尝试进行编译 $ go run hello.go 将会打印出如下错误: package main: hello. ...

  8. IEEE 二进制浮点数的表示

    朋友在谈一个物流相关的项目,是以前项目的一个延续,涉及到后台的扩展,手机端的App,外加两个App的对接的蓝牙打印机.这个项目前后说了一个多月了吧,最近才草拟了协议.项目本来不复杂,但是客户却如此的拖 ...

  9. python threading ThreadPoolExecutor

    线程池,为什么要使用线程池:1. 线程中可以获取某一个线程的状态或者某一个任务的状态,以及返回值2. 当一个线程完成的时候我们主线程能立即知道3. futures可以让多线程和多进程编码接口一致 获取 ...

  10. vue中引入mintui、vux重构简单的APP项目

    最近在学习vue时也了解到一些常用的UI组件,有用于PC的和用于移动端的.用于PC的有:Element(饿了么).iView等:用于移动端APP的有Vux.Mint UI(饿了么).Vant(有赞团队 ...