牛客练习赛116

(0条未读通知) 牛客练习赛116_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com)

A.等差数列

对于此题可以分为两类:

1.当k == 0,此时A1,A2...值都为a

2.当k != 0,此时又分为两大类:

                1.平局(发现A1,A2,A3等连续的数都是奇偶数交替变化的,如果区间内的数可以整除2说明奇偶数相同)

                2.分出奇偶(上方的情况已近判断出奇偶数的个数不相同,故现在我们只需要判断出区间内第一个数是奇数还是偶数,是奇数就说明奇数多,是偶数则说明偶数多eg.123, 234

数字过大,开始时可以%2

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll a, k, q, l, r;
int main()
{ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);cin >> a >> k >> q;a %= 2;k %= 2;while(q --){cin >> l >> r;if(k == 0){if(a % 2)cout << 1 << '\n';else cout << -1 << '\n';	} else{if((r - l + 1) % 2 == 0)cout << 0 << '\n';else{if((a + (l - 1) * k) % 2)cout << 1 << '\n';else cout << -1 << '\n';}}}return 0;
}

B. 挖坑

最小步数如果要有所变化,不可以只单向的加障碍物,需要双向来加,因为它可以从左下角走到终点,也可以从右上角走到终点,所以障碍物必须上下双向开始相加

由此进行规律找寻,一列最多有两个障碍物,如果双向都是两个障碍物就会多走4步,如果一向一个障碍物,另一向两个障碍物会多走两步,会发现我们每次会加四个障碍物或者三个障碍物,四个障碍物会多走4步,三个障碍物会多走2步

接下来我们讨论与事实不符合输出-1的情况

1.最少步数都大于k

2.能走的最多的步数小于k

3.需要走的步数为奇数

#include<bits/stdc++.h>
using namespace std;
int q, n, k, res;
int main()
{cin >> q;while(q --){cin >> n >> k;if(n + 1 > k || (n - 1) / 4 * 4 + n + 1 < k || (k - n- 1) & 1)cout << -1 << '\n';else {int p = k - n - 1;res = p / 4;//需要几个四个障碍物res = res * 4 + ((k - n - 1 - (res * 4))/ 2) * 3;//加上需要三个障碍物的cout << res << '\n';}}return 0;} 

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

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

相关文章

Automation Anywhere推出新的生成式AI自动化平台,加速提高企业生产力

在9 月 19 日的Imagine 2023 大会上&#xff0c;智能自动化领域的领导者 Automation Anywhere 宣布对其自动化平台进行扩展。推出了新的 Responsible AI Layer&#xff0c;并宣布了四项关键产品更新&#xff0c;包括全新的 Autopilot&#xff0c;它可以利用生成式 AI &#xff…

堆的介绍与堆的实现和调整

个人主页&#xff1a;Lei宝啊 愿所有美好如期而遇 目录 ​​堆的介绍&#xff1a; 关于堆的实现及相关的其他问题&#xff1a; 堆的初始化&#xff1a; 堆的销毁&#xff1a; 插入建堆&#xff1a; 堆向上调整&#xff1a; 交换两个节点的值&#xff1a; 堆向下调整&a…

SpringCache -- Redis --- 配置与缓存使用--配置过期时间

写在前面&#xff1a; 学redis&#xff0c;还是得搭配SpringCache来玩一玩。 前置内容 win安装redis基础 springboot使用redis 文章目录 导入依赖配置cache 使用CacheableCachePutCacheEvict 配置过期时间依据cacheName设置在注解上截取过期时间 导入依赖 <!--redis依赖…

邓俊辉《数据结构》→ “2.6.5 二分查找(版本A)”之“成功查找长度”递推式推导

【问题描述】 邓俊辉的《数据结构&#xff08;C语言版&#xff09;&#xff08;第3版&#xff09;》&#xff08;ISBN&#xff1a;9787302330646&#xff09;中&#xff0c;开始于第48页的“2.6.5 二分查找&#xff08;版本A&#xff09;”内容在第50页详述了“成功查找长度”的…

uniapp 点击事件-防重复点击

uniapp 点击事件-防重复点击 1、common文件并创建anti-shake.js文件 // 防止处理多次点击 function noMoreClicks(methods, info) {// methods是需要点击后需要执行的函数&#xff0c; info是点击需要传的参数let that this;if (that.noClick) {// 第一次点击that.noClick f…

vue循环滚动字幕

在Vue.js中创建一个循环滚动字幕的效果通常需要使用一些CSS和JavaScript来实现。以下是一个简单的示例&#xff0c;展示如何使用Vue.js创建一个循环滚动字幕的效果&#xff1a; 首先&#xff0c;在HTML中创建一个Vue实例&#xff0c;并添加一个包含滚动字幕的容器元素&#xff…

vue消息订阅与发布

1.知识点 是一种组件间通信的方式&#xff0c;适用于任意组件间通信 2.使用步骤 “消息订阅与发布”可依赖的第三方很多&#xff0c;这里使用pubsub-js库 1.安装pubsub&#xff1a;npm i pubsub-js 2.引入&#xff1a;import pubsub from pubsub-js 3.接收数据&#xff1a;A组件…

【数据结构】排序合集(万字详解)

文章目录 前言插入排序希尔排序选择排序堆排序快速排序hoare原生版本挖坑法前后指针法三数取中优化随机数取key优化三路划分版非递归 归并排序递归非递归调整边界单次归并单次拷贝 总结 前言 排序&#xff0c;以字面意思来说就是通过特定的算法将一组或多组无序或者接近有序的…

02Redis的命令行客户端和桌面客户端的下载和安装

Redis桌面客户端 安装完成Redis服务,我们就可以在Redis的客户端操作Redis的数据库实现数据的CRUD了,客户端分为三类命令行客户端, 图形化桌面客户端,编程客户端 命令行客户端 Redis安装完成后就自带了命令行客户端: redis-cli [options] [commonds] -h选项&#xff1a;指定…

矢量图形编辑软件illustrator 2023 mac软件特点

illustrator 2023 mac是一款矢量图形编辑软件&#xff0c;用于创建和编辑排版、图标、标志、插图和其他类型的矢量图形。 illustrator mac软件特点 矢量图形&#xff1a;illustrator创建的图形是矢量图形&#xff0c;可以无限放大而不失真&#xff0c;这与像素图形编辑软件&am…

计算机网络 实验二 交换机的基本配置

实验二 交换机的基本配置 实验目的 • 掌握交换机的配置方式及切换命令&#xff1b; • 掌握交换机端口的基本配置&#xff1b; • 掌握交换机mac地址的查看与管理方法。 实验设备 以太网交换机一台服务器一台PC机五台配置电缆、网线若干 网络拓扑及IP地址分配 给计算…

题目 1065: 二级C语言-最小绝对值

输入格式 十个数 输出格式 交换后的十个数 样例输入 10 2 30 40 50 60 70 80 90 100 样例输出 10 100 30 40 50 60 70 80 90 2 我对这题用了两个数组&#xff0c;一个存储原来的值&#xff0c;一个是镜像的绝对值。 找最小的数和序号就在镜像里&#xff0c;遍历寻找就行 #i…

Docker部署ActiveMQ消息中间件

1、准备工作 docker pull webcenter/activemq:5.14.3 Pwd"/data/software/activemq" mkdir ${Pwd}/data -p2、运行容器 docker run -d --name activemq \-p 61616:61616 \-p 8161:8161 \-v ${Pwd}/data:/opt/activemq/data \-v /etc/localtime:/etc/localtime \--r…

服务器补丁管理软件

随着漏洞的不断上升&#xff0c;服务器修补是增强企业网络安全的典型特征。作为业务关键型机器&#xff0c;计划服务器维护的停机时间无疑是一件麻烦事。但是&#xff0c;借助高效的服务器补丁管理软件&#xff08;如 Patch Manager Plus&#xff09;&#xff0c;管理员可以利用…

UE5读取json文件

一、下载插件 在工程中启用 二、定义读取外部json文件的函数&#xff0c;参考我之前的文章 ue5读取外部文件_艺菲的博客-CSDN博客 三、读取文件并解析为json对象 这里Load Text就是自己定义的函数&#xff0c;ResourceBundle为一个字符串常量&#xff0c;通常是读取的文件夹…

UML活动图

在UML中&#xff0c;活动图本质上就是流程图&#xff0c;它描述系统的活动、判定点和分支等&#xff0c;因此它对开发人员来说是一种重要工具。 活动图 活动是某件事情正在进行的状态&#xff0c;既可以是现实生活中正在进行的某一项工作&#xff0c;也可以是软件系统中某个类…

[Linux] 1.Linux的简介

Linux是一套免费使用和自由传播的类Unix操作系统&#xff0c;是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。 Linux发行版&#xff1a;基于Linux内核定制不同风格的Linux ubuntu:嵌入式开发 …

题目 1069: 二级C语言-寻找矩阵最值

输入一个正整数n (1≤ n ≤6),再输入一个n 行n列的矩阵&#xff0c;找出该矩阵中绝对值最大的元素以及它的行下标和列下标。 输入格式 n nxn &#xff08;矩阵的数据&#xff09; 输出格式 数 行 列 样例输入 2 1 2 3 4样例输出 4 2 2 二维矩阵的创建cpp代码实现&a…

Linux实验一

#include <stdio.h> #include <stdlib.h> int main() { printf("hello ,\n"); printf("world\n"); // 使用 exit(0) 结束进程 exit(0); } #include <stdio.h> #include <unistd.h> int main() { printf("hello ,\n")…

Ubuntu上通过源码方式安装Redis

上一篇文章Ubuntu上安装、使用Redis的详细教程已经介绍了再Ubuntu操作系统上安装Redis的详细过程&#xff0c;但是因为安装的Redis只有最主要的配置文件和redis-server&#xff0c;为了更深入地学习Redis和进行更复杂的操作&#xff0c;需要安装一个完整的Redis服务。 这篇文章…