ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

洛谷 P3399 丝绸之路

2020-02-22 23:52:15  阅读:271  来源: 互联网

标签:洛谷 int return 传送门 丝绸之路 P3399 include 1001 前一天


题目传送门

解题思路:

f[i][j]表示第j天到第i个城市消耗的最小体力值,对于每种状态,我们可能从两种状态转移过来:
1.我们可以选择前一天没动,即f[i][j-1]
2.可以选择前一天动了,即f[i-1][j-1]

还有,第1座城市比较特殊,所以要单独处理一下.

AC代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 
 5 using namespace std;
 6 
 7 int n,m,a[1001],b[1001],f[1001][1001],ans = 1999999999;
 8 
 9 inline int min(int s,int d) {
10     if(s < d) return s;
11     return d;
12 }
13 
14 int main() {
15     memset(f,0x3f3f3f,sizeof(f));
16     scanf("%d%d",&n,&m);
17     for(int i = 1;i <= n; i++)
18         scanf("%d",&a[i]);
19     for(int i = 1;i <= m; i++)
20         scanf("%d",&b[i]);
21     f[1][1] = b[1] * a[1];
22     for(int i = 1;i <= m; i++) f[1][i] = min(f[1][i-1],a[1] * b[i]);
23     for(int i = 2;i <= n; i++)
24         for(int j = i;j <= m; j++)
25                 f[i][j] = min(f[i][j-1],f[i-1][j-1] + a[i] * b[j]);
26     for(int i = n;i <= m; i++)
27         ans = min(f[n][i],ans);
28     printf("%d",ans);
29     return 0;
30 }

 

标签:洛谷,int,return,传送门,丝绸之路,P3399,include,1001,前一天
来源: https://www.cnblogs.com/lipeiyi520/p/12348095.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有