zoukankan      html  css  js  c++  java
  • VIJOS-P1421 更换轮胎

    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[1001][1001];
    int dp[1001][1001];
    int main()
    {
        scanf("%d%d%d",&n,&m,&c);
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
                scanf("%d",&t[i][j]);
        memset(dp,0x3f,sizeof(dp));
        mint=1000000000;
        for(int i=1;i<=m;i++)
            dp[1][i]=t[1][i]; 
        for(int i=2;i<=n;i++)
        {
            mint=1000000000;
            for(int k=1;k<=m;k++)
                mint=min(mint,dp[i-1][k]); 
            for(int j=1;j<=m;j++)
                dp[i][j]=min(dp[i-1][j],mint+c)+t[i][j]; 
        }     
        ans=1000000000;
        for(int i=1;i<=m;i++)
            ans=min(ans,dp[n][i]);
        printf("%d",ans);
        return 0;
    }
  • 相关阅读:
    JS自动化测试 单元测试之Qunit
    mybatis注解开发
    @Valid验证
    httpclient发邮件
    mysql慢查询配置(5.7)
    MySQL5.7.21解压版安装详细教程(转)
    spring注解@Import和@ImportResource
    关于properties文件的读取(Java/spring/springmvc/springboot)
    okclient2详细介绍
    @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
  • 原文地址:https://www.cnblogs.com/fusiwei/p/11237879.html
Copyright © 2011-2022 走看看