Div3 595 E
时间:2019-10-26
本文章向大家介绍Div3 595 E,主要包括Div3 595 E使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
简单的二维DP
$f[i][j] $ 表示第 \(i-1\) 层使用 第\(j\) 种方法达到 第 \(i\) 所需要的最短时间,\(j = 0\) 代表 走楼梯,\(j = 1\) 电梯。
\(f[i+1][0]\) 表示第 \(i\) 层使用 楼梯 到达 第\(i+1\) 层的最短时间
只有当第\(i\) 层走楼梯,第 \(i+1\) 层走电梯的时候,才用加上 \(c\) 它是等待电梯的时候,
如果 第 \(i\) 层已经在电梯里面,第\(i+1\) 不用等电梯就可以上去了,所以不用加 \(c\)
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 10;
int n,c;
int a[N],b[N],f[N][2]; // f1,0 不在电梯,f1,1 在电梯内
int main(){
bool ok = 1;
cin >> n >> c;
for(int i = 1;i < n; ++i) cin >> a[i];
for(int i = 1;i < n; ++i) cin >> b[i];
memset(f,0x3f,sizeof f);
f[1][0] = 0,f[1][1] = c;
for(int i = 1;i < n; ++i){
f[i+1][0] = min(f[i+1][0],f[i][1] + a[i]);
f[i+1][0] = min(f[i+1][0],f[i][0] + a[i]);
f[i+1][1] = min(f[i+1][1],f[i][1] + b[i]);
f[i+1][1] = min(f[i+1][1],f[i][0] + b[i] + c);
}
for(int i = 1;i <= n; ++i) cout << min(f[i][0],f[i][1]) <<" ";
return 0;
}
原文地址:https://www.cnblogs.com/lukelmouse/p/11744141.html
- spring:如何用代码动态向容器中添加或移除Bean ?
- WebComponent魔法堂:深究Custom Element 之 标准构建
- druid 数据源 使用属性文件的一个坑
- Angular企业级开发(3)-Angular MVC实现
- spring: 加载远程配置
- java:如何让程序按要求自行重启?
- Angular学习-指令入门
- java:如何让程序按要求自行重启?
- linux:nohup 不生成 nohup.out的方法
- 让VIM支持Python2 by update-alternatives
- Angular中ngCookies模块介绍
- 如何让jboss eap 6.2+ 的多个war应用共享 jar 包?
- scala 学习笔记(07) 一等公民的函数
- 让BASH,VIM美美的Powerline
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- webpack从零搭建开发环境
- 博客——使用 Redis 实现博客编辑的自动保存草稿功能
- linux下安装zabbix服务器shell脚本-添加主机-邮件监控报警zabbix-自动化运维
- Nginx——开启 GZIP 压缩
- 谈谈Vue.use的原理
- Nginx——ubuntu安装Nginx并配置https
- Istio 中业务开发需要关注的二三事
- MongoDB——Ubuntu安装及配置带认证的副本集(亲测)
- 经验——SpringBoot 获取 resource 目录下的文件
- 聚类热图怎么按自己的意愿调整分支的顺序?
- H5|HTTP-FLV|WS-FLV|HLS|RTMP免费直播点播播放器如何自定义层叠DIV全屏后显示在视频上方?
- 什么是时间分片(Time Slicing)?
- 48岁的C语言,你知道它背后的历史吗?
- 【技术创作101训练营】我是如何使用freemarker生成Word文件的?
- 4种主流超参数调优技术