P5638 【CSGRound2】光骓者的荣耀 (前缀和)
时间:2022-07-28
本文章向大家介绍P5638 【CSGRound2】光骓者的荣耀 (前缀和),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
题意描述
题目描述 小 K 打下的江山一共有n个城市,城市i和城市i+1之间有一条双向高速公路连接,走这条路要耗费时间ai。 小 K 为了关心人民生活,决定定期进行走访。他每一次会从1号城市到n号城市并在经过的城市进行访问。其中终点必须为城市n。 不仅如此,他还有一个传送器,传送半径为k,也就是可以传送到i−k和i+k。如果目标城市编号小于1则为11,大于n则为n。 但是他的传送器电量不足,只能传送一次,况且由于一些原因,他想尽量快的完成访问,于是就想问交通部部长您最快的时间是多少。 注意:他可以不访问所有的城市,使用传送器不耗费时间 输入格式 两行,第一行n,k。 第二行n−1个整数,第i个表示ai 输出格式 一个整数,表示答案。
输入: 4 0 1 2 3 输出: 6 输入: 4 1 1 2 3 输出: 3
题意描述可能不清楚,具体的图是数据范围见原链接:洛谷
思路
这是洛谷的一道入门题…一道入门题都让我想了20分钟。由于传送器只能使用一次,所以我们要将传送器使用在距离最远的城市。需要注意的是,如果能够传送的城市范围大于城市的数目,那么最快输出0就可以。
AC代码
#include<iostream>
#include<algorithm>
#include<cmath>
#define IOS ios::sync_with_stdio(false)
using namespace std;
typedef long long ll;
const int maxn=1e6+10;
const int INF=1e9+7;
ll a[maxn],s[maxn];
int n,k;
int main()
{
IOS;
cin>>n>>k;
for(int i=1;i<=n-1;i++){
cin>>a[i];
s[i]=s[i-1]+a[i];
}
k--;
if(k<0) cout<<s[n-1]<<endl;
else if(k>=n-1) cout<<0<<endl;
else{
ll ma=-INF;
for(int i=k+1;i<=n-1;i++){
ma=max(ma,s[i]-s[i-k-1]);
}
cout<<s[n-1]-ma<<endl;
}
return 0;
}
- 把一个矩阵行优先展成一个向量,numpy.ravel() vs numpy.flatten()区别
- dataframe插入数据报错SettingWithCopyWarning: A value is trying to be set on a copy of a slice from a
- python 对矩阵进行复制操作 np.repeat 与 np.tile区别
- python标准异常:中英文对比
- 激活windows10转到电脑设置的水印消失3种方法总结
- Android 运行时权限及APP适配
- python如何保存矩阵,保存matrix,保存numpy.ndarray
- SDP(12): MongoDB-Engine - Streaming
- .NET Core开源API网关 – Ocelot中文文档
- Selenium的使用方法简介
- 爬虫代理哪家强?十大付费代理详细对比评测出炉!
- HTML5中类jQuery选择器querySelector的使用
- Ceph 集群整体迁移方案
- CSS3矩阵变换
- 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 数组属性和方法
- php测试kafka项目示例
- Python读取YUV文件,并显示的方法
- php-7.3.6 编译安装过程
- PHP查找一列有序数组是否包含某值的方法
- python 从文件夹抽取图片另存的方法
- laravel框架使用极光推送消息操作示例
- 对pycharm 修改程序运行所需内存详解
- Python小工具之消耗系统指定大小内存的方法
- Thinkphp框架+Layui实现图片/文件上传功能分析
- PHP实现单例模式建立数据库连接的方法分析
- 解决Python2.7中IDLE启动没有反应的问题
- PHP中mysqli_get_server_version()的实例用法
- 在unittest中使用 logging 模块记录测试数据的方法
- 分享8个Laravel模型时间戳使用技巧小结
- 基于python实现名片管理系统