PTA -- A1046 Shortest Distance

 

题意及思路

题意:有N个节点(1至N),求给定的st号到en号的距离最小值,这些点构成一个环,即1->2 ... ->N ->1。

思路:第一步,预处理操作,以dis[ i ] 表示:第1号节点到 i 所指的下一个节点的距离(顺时针的下一个位置),同时记录环的总距离sum。第二步,计算给定请求的两点距离最短和,由公式可得dis[ en - 1 ] - dis [ st - 1 ] 。最终取前面所得值t 和 sum - t 的较小值即可。(公式需要想一想,下面附上了思维草图,很不严谨)

注意点:第一点,st ,en注意大小,若st > en ,则交换。第二点,虽然这题就是一个简单的模拟,但是给定的范围蛮大,如果使用遍历数组O(n)复杂度的暴力法,无法在给定时限内完成,所以这题的关键在于预处理操作

附上思维草图:(右边红色部分是例子)

 

 

代码

#include <iostream>
#include <algorithm>using namespace std;const int MAX = 100005;
int dis[MAX],arr[MAX];int main(){int n;cin >> n;int sum = 0;for(int i=1;i<=n;i++) {cin >> arr[i];sum += arr[i];dis[i] = sum; //key code
    }int m,st,en;cin >> m;while(m--){cin >> st >> en;if(st>en) swap(st,en);int t = dis[en-1] - dis[st-1];cout << min(t,sum-t) << endl;}return 0;
}

 

转载于:https://www.cnblogs.com/kyrie211/p/11288667.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386253.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从外包公司到今日头条offer,聪明人已经收藏了!

开头 让我们一起来看看&#xff0c;字节跳动的第三面&#xff0c;面试官都问了什么&#xff1f;&#xff08;第一二面的题目及答案已整理&#xff0c;需要的可以在文末领取&#xff09; 从七月中旬开始&#xff0c;我前前后后差不多一共投递了八十份简历&#xff0c;到目前为…

从外包月薪5K到阿里月薪15K,原理+实战+视频+源码

前言 转眼间&#xff0c;2020 年已过去一大半了&#xff0c;2020 年很难&#xff0c;各企业裁员的消息蛮多的&#xff0c;降职&#xff0c;不发年终奖等等。2020 年确实是艰难的一年。然而生活总是要继续&#xff0c;时间不给你丧的机会&#xff01;如果我们能坚持下来&#x…

C#编写的发送手机短信的类库 C#开发短信的方法和简介 短信编程实例

发送手机短信源代码(针对国内短信编码) / ///文 件&#xff1a;PDUdecoding.cs ///概 要&#xff1a;针对国内短信编码&#xff08;USC2&#xff09; ///组成结构&#xff1a;包含四个函数&#xff1a; /// smsDecodedCenterNumber(string srvCenterNumber) …

从新手到Flutter架构师,一篇就够!吐血整理

在开始回答前&#xff0c;先简单概括性地说说Linux现有的所有进程间IPC方式&#xff1a; 1. **管道&#xff1a;**在创建时分配一个page大小的内存&#xff0c;缓存区大小比较有限&#xff1b; 2. 消息队列&#xff1a;信息复制两次&#xff0c;额外的CPU消耗&#xff1b;不合…

从新手到Flutter架构师,一篇就够!学习路线+知识点梳理

前言 IT行业薪水高&#xff0c;这是众所周知的&#xff0c;所以很多人大学都选择IT相关专业&#xff0c;即使非该专业的人&#xff0c;毕业了也想去一个培训机构镀镀金&#xff0c;进入这一行业。 但是有关这个行业35岁就退休的说法&#xff0c;也一直盛传。 加上这几年不断…

从新手到Flutter架构师,一篇就够!帮你突破瓶颈

前言 马上快到金三银四都春招阶段了&#xff0c;在这本就是跳槽、找工作的年后黄金时间&#xff0c;大多数求职者都早早做好年后求职的准备&#xff0c;其中不乏有年前早早辞了工作准备年后跳槽的有经验的职场老人们&#xff0c;也有一批即将毕业的应届毕业生的职场新人们。 …

从新手到Flutter架构师,一篇就够!附赠课程+题库

导语 Android 音视频开发这块目前的确没有比较系统的教程或者书籍&#xff0c;网上的博客文章也都是比较零散的。只能通过一点点的学习和积累把这块的知识串联积累起来。 音视频的开发&#xff0c;往往是比较难的&#xff0c;而这个比较难的技术就是NDK里面的技术。音视频/高…

微信小程序之视图容器(swiper)组件创建轮播图

一、视图容器&#xff08;Swiper&#xff09; 1、swiper&#xff1a;滑块视图容器 微信官方文档&#xff1a;https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html 二、swiper应用 1、页面逻辑&#xff08;index.js&#xff09; Page({data: {imgUrls: [{l…

从草根到百万年薪程序员的十年风雨之路,使用指南

前言 文章篇幅较长&#xff0c;建议耐心食用&#xff0c;相信对你有帮助。码字不易&#xff0c;如果有误&#xff0c;欢迎指出。 前部分是面试经历&#xff0c;后部分是附带的问题笔记/推荐回答/书籍。 我的微信小号有一组特殊的朋友。他们从 CSDN上看到我之前发布的《从阿里到…

修复png bug的脚本

代码 //IE5.5 PNG Alpha Fix v2.0 Alpha: Background Tiling Support//(c) 2008 Angus Turnbull http://www.twinhelix.com//This is licensed under the GNU LGPL, version 2.1 or later.//For details, see: http://creativecommons.org/licenses/LGPL/2.1/varIEPNGFix windo…

从草根到百万年薪程序员的十年风雨之路,吊打面试官系列!

开头 大家好&#xff0c;我是G哥&#xff0c;目前人在荆州办事&#xff0c;但是干货还是要安排上&#xff01; 国外有一个爆火的开发人员学习路线&#xff0c;目前已经在 Github收获了 131 k star&#xff0c;Star 数量在 Github 所有仓库中排名第 9 。这个仓库有多火就不用说…

从零开始系统化学Android,值得收藏!

前言 每年的3、4月份是各大企业为明年拓展业务大量吸纳人才的关键时期&#xff0c;招聘需求集中、空缺岗位多&#xff0c;用人单位也习惯在初秋进行大规模招聘。 金九银十&#xff0c;招聘旺季&#xff0c;也是一个求职旺季。 不打无准备的仗&#xff0c;在这种关键时期&…

网易严选Java开发三面面经:java技术编程培训班

前言 Spring Security是一个功能强大且高度可定制的身份验证和访问控制框架。提供了完善的认证机制和方法级的授权功能。是一款非常优秀的权限管理框架。它的核心是一组过滤器链&#xff0c;不同的功能经由不同的过滤器。这篇文章就是想通过一个小案例将Spring Security整合到…

网易严选Java开发三面面经:java读文件内容

一、前言 Redis 提供了5种数据类型&#xff1a;String&#xff08;字符串&#xff09;、Hash&#xff08;哈希&#xff09;、List&#xff08;列表&#xff09;、Set&#xff08;集合&#xff09;、Zset&#xff08;有序集合&#xff09;&#xff0c;理解每种数据类型的特点对于…

网易严选Java开发三面面经:mysql索引面试题

写在前面 最近&#xff0c;很多小伙伴出去面试都被问到了Spring问题&#xff0c;关于Spring&#xff0c;细节点很多&#xff0c;面试官也非常喜欢问一些很细节的技术点。所以&#xff0c;在 Spring 专题中&#xff0c;我们尽量把Spring的每个技术细节说清楚&#xff0c;将透彻…

网易严选Java开发三面面经:南京黑马java培训怎么样

个人背景 如标题所示&#xff0c;我的个人背景非常简单&#xff0c;Java开发经验1年半&#xff0c;学历普通&#xff0c;2本本科毕业&#xff0c;毕业后出来就一直在Crud&#xff0c;在公司每天重复的工作对我的技术提升并没有什么帮助&#xff0c;但小镇出来的我也深知自我努…

网易架构师深入讲解Java开发!BAT等大厂必问技术面试题

前言 MyBatis是目前非常流行的ORM框架&#xff0c;它的功能很强大&#xff0c;然而其实现却比较简单、优雅。本文主要讲述MyBatis的架构设计思路&#xff0c;并且讨论MyBatis的几个核心部件&#xff0c;然后结合一个select查询实例&#xff0c;深入代码&#xff0c;来探究MyBa…

网易资深Java架构师:java数组对象转为list集合

前言 现在刷抖音经常可以看到一些老外街坊&#xff0c;问他们最想把什么带回自己的国家&#xff0c;我听过很多的回答都是&#xff1a;淘宝&#xff0c;支付宝&#xff0c;美食&#xff0c;微信&#xff0c;外卖&#xff0c;高铁等等。 确实如此&#xff0c;随着国家的快速发…

网易资深Java架构师:java方法的定义和使用

前言 今年因为这个疫情&#xff0c;感觉这是从工作以来过的最久的一个年了&#xff0c;在家呆的时间不是一般的久&#xff0c;算一算有好几个月呢&#xff01;我大概是3月底快4月了才出门&#xff0c;投了超多的简历&#xff0c;天天面试面试面试面试面试面试面试…庆幸的是还…

PHP----学生管理系统

闲来无事花费两天时间写了份简易版的学生管理系统 源码地址:https://www.cnblogs.com/post/ReadAuth?blogId509327&PostId11333758&url%2Fbyczyz%2Fprotected%2Fp%2F11333758.html 转载于:https://www.cnblogs.com/byczyz/p/11333760.html