【题解】洛谷P3399 丝绸之路
我丑,话说在前头
题目:
一道挺简单的DP
思路不难想 但是蒟蒻总是写错初始化啥的
思路
定义f[i][j]为第i天到达第j个城市
以天来进行DP
每一天可以由以下两种方法到达
- 休息一天
- 走一天
那么方程就可以得出
f[i][j]=min(f[i-1][j],f[i-1][j-1]+wea[i]*dis[j]);
f[i-1][j]为休息一天不动
f[i-1][j-1]+wea[i]*dis[j]为从前一个城市走一天到达下一个城市
代码
#include<iostream>
#include<cstring>
using namespace std;
int n,m;
int dis[1010],wea[1010];//dis为距离 wea为天气
int f[1010][1010];
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
cin>>dis[i];
for(int i=1;i<=m;i++)
cin>>wea[i];
for(int i=0;i<=m;i++)
memset(f[i],0x7f,sizeof(f[i]));
for(int i=0;i<=m;i++)
f[i][0]=0;//初始化每一天到不动为0
for(int i=1;i<=m;i++)
for(int j=1;j<=n&&j<=i;j++)//城市数必须小于天数
{
f[i][j]=min(f[i-1][j],f[i-1][j-1]+wea[i]*dis[j]);
}
int minn=2139063143;
for(int i=n;i<=m;i++)//从第n天到第m天到达终点的最小值
if(minn>f[i][n])
minn=f[i][n];
cout<<minn;
}
【题解】洛谷P3399 丝绸之路的更多相关文章
- 洛谷 P3399 丝绸之路
题目背景 张骞于公元前138年曾历尽艰险出使过西域.加强了汉朝与西域各国的友好往来.从那以后,一队队骆驼商队在这漫长的商贸大道上行进,他们越过崇山峻岭,将中国的先进技术带向中亚.西亚和欧洲,将那里的香 ...
- 题解 洛谷P5018【对称二叉树】(noip2018T4)
\(noip2018\) \(T4\)题解 其实呢,我是觉得这题比\(T3\)水到不知道哪里去了 毕竟我比较菜,不大会\(dp\) 好了开始讲正事 这题其实考察的其实就是选手对D(大)F(法)S(师) ...
- 题解 洛谷 P3396 【哈希冲突】(根号分治)
根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...
- 题解-洛谷P5410 【模板】扩展 KMP(Z 函数)
题面 洛谷P5410 [模板]扩展 KMP(Z 函数) 给定两个字符串 \(a,b\),要求出两个数组:\(b\) 的 \(z\) 函数数组 \(z\).\(b\) 与 \(a\) 的每一个后缀的 L ...
- 题解-洛谷P4229 某位歌姬的故事
题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...
- 题解-洛谷P4724 【模板】三维凸包
洛谷P4724 [模板]三维凸包 给出空间中 \(n\) 个点 \(p_i\),求凸包表面积. 数据范围:\(1\le n\le 2000\). 这篇题解因为是世界上最逊的人写的,所以也会有求凸包体积 ...
- 题解-洛谷P4859 已经没有什么好害怕的了
洛谷P4859 已经没有什么好害怕的了 给定 \(n\) 和 \(k\),\(n\) 个糖果能量 \(a_i\) 和 \(n\) 个药片能量 \(b_i\),每个 \(a_i\) 和 \(b_i\) ...
- 题解-洛谷P5217 贫穷
洛谷P5217 贫穷 给定长度为 \(n\) 的初始文本 \(s\),有 \(m\) 个如下操作: \(\texttt{I x c}\),在第 \(x\) 个字母后面插入一个 \(c\). \(\te ...
- 题解 洛谷 P2010 【回文日期】
By:Soroak 洛谷博客 知识点:模拟+暴力枚举 思路:题目中有提到闰年然后很多人就认为,闰年是需要判断的其实,含有2月29号的回文串,前四位是一个闰年那么我们就可以直接进行暴力枚举 一些小细节: ...
随机推荐
- 【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构(FHS)
从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了 ...
- 【Shell】shell截取字符串方式(cut、awk、sed命令)
1.cut -b :以字节为单位进行分割.这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志.-c :以字符为单位进行分割. -d:自定义分隔符,默认为制表符. -f:与-d一起使用,指定显示 ...
- jquery的$.getScript在IE下的缓存问题
jquery的$.getScript在IE下的缓存问题
- node.js中的模板引擎jade、handlebars、ejs
使用node.js的Express脚手架生成项目默认是jade模板引擎,jade引擎实在是太难用了,这么难用还敢设为默认的模板引擎,过分了啊!用handlebars模板引擎写还说的过去,但笔者更愿意使 ...
- 对 Vue 的理解(一)
一.什么是 Vue ? 首先,Vue 是一个 MVVM 框架,M -- 模型,就是用来定义驱动的数据,V -- 视图,是经过数据改变后的 html,VM -- 框架视图,就是用来实现双向绑定的中间桥梁 ...
- JavaWeb_01_html基本学习
*:first-child { margin-top: 0 !important; } .markdown-body>*:last-child { margin-bottom: 0 !impor ...
- boost库的配置——Linux篇
Boost库分为两个部分来使用,一是直接使用对应的头文件,二是需要编译安装相应的库才可以使用. 下面是boost在Linux上安装和使用过程(整个boost库全部安装): (1)在www.boost. ...
- QBC(Query By Criteria) QBE (Query By Example)
QBC 参考:(Hibernate的QBC查询) //is empty and is not empty @Test public void testQBC(){ Session session = ...
- Java—IO流 文件的编码
文件的编码 package cn.test; import java.io.UnsupportedEncodingException; public class Demo15 { public sta ...
- C# winform 跨线程修改界面
我们可以使用invoke和bengininvoke invoke同步执行一个委托 begininvoke异步执行一个委托