当前位置: 首页 > news >正文

CSDN 编程竞赛四十期题解

竞赛总览

CSDN 编程竞赛四十期:比赛详情 (csdn.net)

竞赛题解

题目1、小鱼的航程

有一只小鱼,它上午游泳150公里,下午游泳100公里,晚上和周末都休息(实行双休日)。假设从周x(1<=x<=7)开始算起,请问这样过了n天以后,小鱼一共累计游泳了多少公里呢?

#include <cstdio>int main () {long long int result = 0;long long int x, n;scanf ("%lld %lld", &x, &n);while (n --> 0) {if (x >= 7) {x = 1;} else if (x >= 6) {x += 1;} else {x += 1;result += 250;}}return 0;
}

直接模拟即可解决此题。注意,由于数据范围较大,暴力模拟会超时,需要在循环前面进行优化。

小鱼每周工作五天,一周可以游泳1250公里。将剩余天数变为7的余数,循环时只计算零头即可。

题目2、编码

编码工作常被运用于密文或压缩传输。这里我们用一种最简单的编码方式进行编码:把一些有规律的单词编成数字。字母表中共有26个字母{a,b,…,z},这些特殊的单词长度不超过6且字母按升序排列。把所有这样的长度相同的单词放在 一起,按字典顺序排列,一个单词的编码就对应着它在整个序列中的位置。你的任务就是对于所给的单词,求出它的编码。

第十四期竞赛时遇到过这道题,洛谷原题。

题目3、一维数组的最大子数组和

给定一个整数数组nums,找到一个具有最大和的连续子数组,输出该子数组在原数组中的开始下标和结束下标。原数组下标从0开始。

第二十一期竞赛出现过一次,问题是子数组最大和的数值,这一次变成起始下标和结束下标了。但核心思想和之前是一样的,下面博主来详细地讲解一下。

使用前缀和算法,计算出每一项数据的前缀和。可以利用哨兵,巧妙地处理这个问题。

第一项数据置为零,从后面开始读入数据。计算前缀和时,第二项的前缀和为前两项的和,第三项的前缀和为前三项的和,以此类推(第二项的前缀和实际值是0+第一项数据)。这样做,不但可以简化初始化时的方式,还可以优化起点下标的计算方法。

使用时,假设需要求第一项到第五项数据的累加和,只需用前缀和[6]减去前缀和[1]。这时,由于引入了哨兵位置,所以起点下标与计算时使用的前缀和下标对应,直接使用1即可。终点下标的目标值是5,但是实际使用的第六项的前缀和进行计算,因此终点下标需要减一下。如果不引入哨兵的话,那么可以直接使用终点下标,但起点下标需要额外进行判断(例如,求第一项到第五项数据的累加和,但是如果用前缀和[5]减去前缀和[1],只能得到第二项到第五项数据的累加和,还要额外补充一下第一项的数据)。由此可见,引入哨兵位置可以极大地提升操作的便利性,性价比是很高的。

求累加和最大区间时,可以结合贪心算法。例如,第一项到第五项之间的数据累加和小于零,那么可以直接使用第六项数据的位置作为新的区间起点,而无需用第一项到第五项之间的数据累加和加上第六项,这样只会使求和结果越来越小。反之,如果区间的累加和大于零,那么遇到下一项时,直接用前面的累加和加上下一项的值即可,这里体现出了贪心的思想。

题目4、喜水青蛙

总是喜欢在水里嬉戏的青蛙,某天要过河拜访一位朋友。已知河道中长满了带刺的不知名生物,能通过的路只有一条直线,长度为L。直线上随机分布着m块石头。青蛙的最小跳跃距离是s,最大跳跃距离是t。青蛙想要尽可能的少踩石头,那么它通过河道最少会踩到多少石头?

NOIP原题。在NOIP竞赛规定的测试数据范围中,这道题目的长度L参数范围特别大。因此,需要进行状态压缩,只保留下一些必要的状态,否则会超时,只能通过部分测试点。去搜索一套NOIP题解集的网盘资源,即可学到NOIP系列题目的解法。

相关文章:

CSDN 编程竞赛四十期题解

竞赛总览 CSDN 编程竞赛四十期&#xff1a;比赛详情 (csdn.net) 竞赛题解 题目1、小鱼的航程 有一只小鱼&#xff0c;它上午游泳150公里&#xff0c;下午游泳100公里&#xff0c;晚上和周末都休息&#xff08;实行双休日)。假设从周x&#xff08;1<x<7&#xff09;开…...

【TypeScript学习之路】泛型

【TypeScript学习之路】泛型 文章目录【TypeScript学习之路】泛型写在前面前言一、认识泛型1.1 什么是泛型1.2 泛型函数的使用二、泛型接口与泛型类2.1 泛型接口2.2 泛型类三、泛型约束写在前面 &#x1f917;这里是前端程序员小张&#xff01; &#x1f33b;人海茫茫&#xff…...

数据分析学习项目:东京奥运会跳水评论分析

“中国跳水梦之队” ————有关东京奥运会跳水评论分析 导语 第32届夏季奥林匹克运动会于2021年07月23日-2021年08月08日在日本东京举办。 四年一届的奥运会可以说是世界瞩目的盛会&#xff0c;奥运健儿们在赛场上的精神风貌不只是代表了他们自身的运动精神&#xff0c;更昭…...

Winform/Csharp中使用Linq的Where条件筛选、Select字段映射(左外连接并设置无匹配时默认值)、OrderBy(排序并自定义排序规则)

场景 Java8新特性-Stream对集合进行操作的常用API&#xff1a; Java8新特性-Stream对集合进行操作的常用API_streamapi操作集合_霸道流氓气质的博客-CSDN博客 上面讲的是在Java中使用Stream中对集合的常用操作。 在C#中Linq是有对应的类似的api。 完整和详细的用法可自行查…...

Linux-常用的Shell命令

文章目录前言常用的Shell命令文件和目录管理查看文件、目录信息查看文件内容查看文件类型查找文件查找内容查看目录大小创建文件删除文件拷贝文件移动文件创建目录删除目录拷贝目录压缩文件解压文件路径相关操作目录切换显示当前路径用户、用户组管理创建用户删除用户创建用户组…...

Go语言基础:数组定义及循环遍历

前言 大家好&#xff0c;我是沐风晓月&#xff0c;本文go语言入门-掌握go语言函数收录于《go语言学习专栏》专栏&#xff0c;此专栏带你从零开始学习go语言&#xff0c;持续更新中&#xff0c;欢迎点赞收藏。 &#x1f3e0;个人主页&#xff1a;我是沐风晓月 &#x1f9d1;个人…...

【树与二叉树】二叉树顺序结构实现以及堆的概念及结构--详解介绍

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;数据结构 &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 文章目录1. 二叉树顺序结构2.…...

天狗实战(二)SpringBoot API开发详解 --SpringMVC注解+封装结果+支持跨域+打包(下)

本文目录 前言专栏介绍一、创建SpringBoot项目1.1 添加springboot依赖1.2 创建启动类1.3 创建控制器类1.4 Run 或 Debug二、开发图书管理API2.1 web层BookAdminControllerBookVO2.2 service层BookServiceBookServiceImplBookBO2.3 dal层...

实验一 Windows系统安全实验【网络安全】

实验一 Windows系统安全实验【网络安全】前言推荐实验一 Windows系统安全实验3.1 帐户和口令的安全设置3.1.1 实验目的3.1.2 实验环境3.1.3 实验内容和步骤1. 删除不再使用的帐户并禁用guest帐户2.启用密码策略和帐户锁定策略3.查看“用户权限分配”4.查看“用户组权限分配”5.…...

蓝桥杯正确的解题姿势

在做算法题的过程中最忌讳的就是上来就一顿乱敲&#xff0c;一开始我就是这样&#xff0c;但随着不断的刷题和老师的指导&#xff0c;总结了自己的刷题方法 示例题目 三角回文数 问题描述 对于正整数 n, 如果存在正整数 k使得 n123...kk(k1)/2 , 则 n 称为三角数。例如, 66066 …...

【mysql】性能优化

目录一、硬件与操作系统二、架构设计层面的优化三、mysql程序配置优化四、mysql执行优化一、硬件与操作系统 1.使用高性能cpu&#xff0c;提高计算能力 2.增大可用内存&#xff0c;提高读取能力 3.提高硬盘的读写速度&#xff0c;使用专用的固态硬盘 4.增大网络带宽&#xff0c…...

Jupyter安装与远程使用过程记录

Jupyter安装与远程使用过程记录 文章目录Jupyter安装与远程使用过程记录Jupyter在线试用在服务器上安装Jupyter Notebook配置服务器远程连接首先保证ip地址连通性其次开启服务器访问端口然后在服务器启动服务最后测试连通性后续使用教程Jupyter在线试用 官网适用&#xff0c;感…...

Swift入门

基本数据类型 Int、UInt&#xff1a;整数型、非负整数Float、Double&#xff1a;单精度浮点数、双精度浮点数Bool&#xff1a;布偶值String、Character&#xff1a;字符串、字符 其他类型 Array, Dictionary&#xff1a;数组、字典StructClassvar&#xff1a;变量let&#x…...

【HashMap】jdk1.8中HashMap的插入扩容源码学习分析

jdk1.8中HashMap的插入扩容源码学习分析 一、成员变量 首先介绍HashMap中各个成员变量的作用&#xff0c;在HashMap中有以下成员变量 size记录了HashMap中键值对的个数 loadFactor&#xff08;加载因子&#xff09;用来决定size达到容量的百分之多少时触发扩容机制 默认是0…...

Linux编译器-gcc/g++ 使用

在介绍gcc/g的使用前我们先了解一下两者的不同 gcc时主要编译c语言&#xff0c;而g主要编译c的&#xff0c;但是两者的选项是相同的&#xff0c;因此我们以gcc和c语言为例来讲解。背景知识 gcc和g都是编译器其核心作用将文本类文件翻译成二进制可执行 那么其过程是怎样的&…...

网络安全专家最爱用的9大工具

网络安全专家&#xff0c;不是你认为的那种搞破坏的 “黑客”。网络安全专家&#xff0c;即 “ethical hackers”&#xff0c;是一群专门模拟网络安全专家攻击&#xff0c;帮助客户了解自己网络的弱点&#xff0c;并为客户提出改进建议的网络安全专家。 网络安全专家在工作中&a…...

Linux内核设计与实现第四章学习笔记

文章目录Linux内核设计与实现第四章学习笔记具体场景Linux调度算法传统的调度公平调度调度的实现时间记账调度器实体虚拟实时进程选择调度器入口睡眠和唤醒抢占和上下文切换用户抢占内核抢占实时调度策略Linux内核设计与实现第四章学习笔记 进程优先级&#xff1a;Linux中采用…...

i.MX9352——介绍一款多核异构开发板

本篇来介绍一款多核异构的Linux开发板——OK-MX9352-C开发板。 1 开发板硬件介绍 OK-MX9352-C开发板由核心板和底板组成&#xff0c;核心板采用处理器芯片为NXP的i.MX9352&#xff0c;这是一款多核异构的芯片&#xff0c;核心板基础配置如下 CPU&#xff1a;2Cortex-A551.5G…...

【Python】一文学会面向对象?当然可以的

文章目录前言一、万物皆对象二、类也是对象三&#xff0c;元类总结前言 在大家学习python的时候&#xff0c;一定听说过一句话&#xff1a; 在我们python中万物皆对象&#xff0c;不管是整数、字符串、列表、字典这些基本数据类型&#xff0c;还是函数、以及自定义类创建出来…...

ElasticSearch - SpringBoot整合ES:精确值查询 term

文章目录00. 数据准备01. ElasticSearch 结构化搜索是什么&#xff1f;02. ElasticSearch 结构化搜索方式有哪些&#xff1f;03. ElasticSearch 全文搜索方式有哪些&#xff1f;04. ElasticSearch term 查询数字&#xff1f;05. ElasticSearch term 查询会不会计算评分&#xf…...

【GPT4】微软对 GPT-4 的全面测试报告(2)

欢迎关注【youcans的GPT学习笔记】原创作品&#xff0c;火热更新中 微软对 GPT-4 的全面测试报告&#xff08;1&#xff09; 微软对 GPT-4 的全面测试报告&#xff08;2&#xff09; 【GPT4】微软对 GPT-4 的全面测试报告&#xff08;2&#xff09;2. 多模态与跨学科的组合&…...

Docker打包exe运行环境

Docker打包exe运行环境 本文运行环境 Window安装Docker环境 修改配置 点击Switch to Window containers OS/Arch 变为 windows/amd64 拉取window镜像 访问Nano Server找到需要的Window版本拉取镜像 运行镜像测试 进入到容器内部 其他内容就自由发挥啦~~ 参考内容…...

springboot+vue田径运动会成绩管理系统java

springboot是基于spring的快速开发框架, 相比于原生的spring而言, 它通过大量的java config来避免了大量的xml文件, 只需要简单的生成器便能生成一个可以运行的javaweb项目, 是目前最火热的java开发框架 田径运动会成绩管理系统&#xff0c;主要的模块包括首页、个人中心、赛…...

我能“C”——详解操作符(上)

目录 1.操作符的分类&#xff1a; 2. 算数操作符 3.移位操作符 4.位操作符 5.赋值操作符 6.单目操作符 7.关系操作符 8.逻辑操作符 THE END 1.操作符的分类&#xff1a; 操作符也叫运算符 算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑…...

第一章Vue基础

文章目录前端发展史前端三要素JavaScript框架UI框架JavaScript构建工具三端合一什么是VueVue的好处什么是MVVM为什么要使用MVVM环境配置第一个Vue程序声明式渲染模板语法绑定样式数据绑定为什么要实现数据的双向绑定el与data的两种写法条件渲染事件驱动事件的基本用法事件修饰符…...

【虚幻引擎UE】UE5核心效率插件推荐

一、UnrealEditorPythonScripts (基于UE5 的Python支持插件) 支持Python语言基于UE5进行开发 GIT地址:https://github.com/mamoniem/UnrealEditorPythonScripts 二、Haxe-UnrealEngine5 (基于UE5 的Haxe支持插件) Haxe是一门新兴的开源编程语言,是一种开源的编程语言。…...

记录丨阿里云校招生的成长经历

为了帮助大家更好地了解阿里云云原生应用平台团队同学的成长路径&#xff0c;我们采访了6位各个时间点加入阿里云的学长学姐们&#xff0c;希望他们的经历可以帮助到大家。 经历分享 钰诚丨2022年加入阿里云&#xff0c;校招 大家好&#xff0c;我叫钰诚&#xff0c;目前刚来…...

蓝桥杯第14天(Python版)

并查集的使用# 并查集模板 N400 fa[] def init(): # 初始化&#xff0c;默认自身为根接点for i in range(N):fa.append(i)def merge(x,y): # 发现可以合并&#xff0c;默认选x的根节点为根接点fa[find(x)]find(y)def find(x): # 相等就是根结点&#xff0c;不然就递归查找根…...

双指针常用方法

1.双指针介绍 双指针是解题时一种常见的思路&#xff0c;一般有两种用法。 1&#xff09;两个指针反方向&#xff0c;分别从数组开头和结尾开始移动&#xff0c;例如对有序数组的搜索。 2&#xff09;两个指针同方向移动&#xff0c;例如快慢指针&#xff0c;都是从数组开头…...

人工智能大模型之ChatGPT原理解析

前言 近几个月ChatGPT爆火出圈&#xff0c;一路狂飙&#xff1b;它功能十分强大&#xff0c;不仅能回答各种各样的问题&#xff0c;还可以信写作&#xff0c;给程序找bug…我经过一段时间的深度使用后&#xff0c;十分汗颜&#xff0c;"智障对话"体验相比&#xff0c…...

静态旅游网站/网站建站哪家公司好

Spring Boot 整合NoSQL NoSQL 是指非关系型数据库&#xff0c;非关系型数据库和关系型数据库两者存在许多显著的不同点&#xff0c;其中最重要的是NoSQL 不使用SQL 作为查询语言。其数据存储可以不需要固定的表格模式&#xff0c;一般都有水平可扩展性的特征。NoSQL 主要有如下…...

手机自适应的网站怎么做/论坛推广软件

文章目录现象原因解决更新 20200318现象 由于安装anaconda3时在是否把anaconda3加入path那里 Add to Path…(Not recommend) 是不建议的&#xff0c;因此很多安装时会不勾选这一选项。 然后使用vscode调用cmd运行Python的编辑器调试Python时&#xff0c;终端经常会出现诸如 …...

外贸网站开发定制/南京百度网站推广

阿里妹导读&#xff1a;在电子商务中&#xff0c;品牌在用户对商品做点击、购买选择正起着越来越重要的作用&#xff0c;部分原因是用户现在越来越关注商品的质量&#xff0c;而品牌是商品质量的一个保证。 但是&#xff0c;现有的排序系统并不是针对用户对品牌的偏好设计的。某…...

开发公司的一般利润率2020/seo软文是什么

VC 编写实现的基于CS结构的网络监控和屏幕抓图程序&#xff0c;把客户端和服务端都编译后&#xff0c;分别运行&#xff0c;连接上服务端&#xff0c;然后点击“抓图”功能&#xff0c;即可对运行服务端的远程电脑进行抓图&#xff0c;点击“显示”按钮&#xff0c;可显示出所抓…...

wordpress 删除 下载文件/营销型网站名词解释

Win7网络图标不见了怎么办&#xff1f;我们在上网的时候&#xff0c;右下角都会有一个网络连接图标&#xff0c;看到这个图标就说明已经连接上网络了&#xff0c;可以上网了。但最近有Win7系统用户反应&#xff0c;他开电脑进入系统桌面时&#xff0c;发现网络连接图标不见了。…...

申请建设网站经费的请示/各网站收录

建造者&#xff08;Builder&#xff09;模式 角色如下&#xff1a; 抽象建造者类&#xff08;Builder&#xff09;&#xff1a;组合Product&#xff0c;实现复杂对象的那些部分的创建具体建造者类&#xff08;ConcreteBuilder&#xff09;&#xff1a;实现builder接口&#x…...