Codeforces Round 834 (Div. 3)

news2024/11/19 1:46:13

题集链接

Codeforces Round 834

  • A. Yes-Yes?
  • B. Lost Permutation
  • C. Thermostat

A. Yes-Yes?

在这里插入图片描述

Example
input

12
YES
esYes
codeforces
es
se
YesY
esYesYesYesYesYesYe
seY
Yess
sY
o
Yes

output

NO
YES
NO
YES
NO
YES
YES
NO
NO
YES
NO
YES

题意&题解:

其实就算问给的字符串是不是多个YES的字串,因为给出的字符串长度已经定了,直接来个 ∣ s t r i n g 1 ∣ > = 50 |string1|>=50 string1∣>=50的多个“YES”来find一下,就可以了!!!

C++

#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
const int N = 2*1e5+10;
string s;
int n;
char ch;
string string1="YesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYesYes";
void sove(void){
    cin>>s;
    if(string1.find(s)!=string::npos)cout<<"YES\n";
    else cout<<"NO\n";
}

signed main(void){
    int _=1;
    cin>>_;
    while(_--)sove();
    return 0;
}

如果用C,可以按照规律,Y后面一定是e,e后面一定是s,s后面一定是Y,如果出现不是这三个字母的,直接NO

C

#include <stdio.h>
#define end {printf("NO\n");return;};
void solve();
int main(void){
    int _=1;scanf("%d\n",&_);
    while(_--)solve();
    return 0;
}
void solve(){
    char s[52];
    scanf("%[^\n]",s);getchar();
    for(char i=0,next=' ';s[i];i++){
        if(next!=' '&&s[i]!=next|| (s[i]!='Y'&&s[i]!='e'&&s[i]!='s')){
            end
        }
        if(s[i]=='Y')next='e';
        else if(s[i]=='e')next='s';
        else if(s[i]=='s')next='Y';
    }
    printf("YES\n");
}

B. Lost Permutation

在这里插入图片描述
Example
input

5
3 13
3 1 4
1 1
1
3 3
1 4 2
2 1
4 3
5 6
1 2 3 4 5

output

YES
NO
YES
NO
YES

题意:

给你一个长度为 m m m的数组(缺失排列(排列少数字))和 s s s(少掉的数字之和)
让你判断,能不能恰好用 n n n个数字,数组加上这 n n n个数字变成一个新排序,并且 n n n个数字之和等于 s s s,如果可以打印“YES”
否则"NO"
注:排列是指该数组里 1 − n 1-n 1n的数字恰好出现一次

题解:

因为是排列,而且是添加数字,如果数组里现有的最大数字为 x x x,然后将数组补全为 1 − x 1-x 1x排列,如果用到的数字之和大于 s s s了,直接NO,否则进行进行,往上加,直达 s ≤ 补全的数字和 s \leq 补全的数字和 s补全的数字和,最后判断两者是否相等,如果相等就说明可以补全,YES。否则NO

#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
const int N = 2*1e5+10;
string s;
int n;
char ch;
bool b[N];
void sove(){
    int m,s;
    cin>>m>>s;
    int ansmax=0;
    int all=0;
    while(m--){
        int num;cin>>num;
        ansmax=max(ansmax,num);
        b[num]=true;//记录有没有
        all+=num;
    }
    bool flag = (ansmax*(ansmax+1)/2)-all > s;
    if(flag) { cout << "NO\n";return ; }
    int sum=(ansmax*(ansmax+1)/2)-all;
    for(int i=ansmax+1;sum<s;i++)sum+=i;//继续补全
    if(sum==s)cout<<"YES\n";
    else cout<<"NO\n";
}

signed main(void){
    int _=1;
    cin>>_;
    while(_--)sove();
    return 0;
}

C. Thermostat

在这里插入图片描述
Example
input

10
3 5 6
3 3
0 15 5
4 5
0 10 5
3 7
3 5 6
3 4
-10 10 11
-5 6
-3 3 4
1 0
-5 10 8
9 2
1 5 1
2 5
-1 4 3
0 2
-6 3 6
-1 -4

output

0
2
3
-1
1
-1
3
1
3
-1

题意:

你可以从数字 a a a变到数字 b b b,但得要满足: ∣ a − b ∣ > = x |a-b|>=x ab>=x and l ≤ b ≤ r l \leq b \leq r lbr
现在给出 l , r , x , a , b l,r,x,a,b l,r,x,a,b,问能不能从数字 a a a变到数字 b b b,如果能输出最小操作数,否则输出-1

题解:

分情况讨论:
1.如果 a = = b a==b a==b,不需要操作,输出 0
2.如果 ∣ a − b ∣ > = x |a-b|>=x ab>=x and l ≤ b ≤ r l \leq b \leq r lbr ,当然题目给出的 b b b一定满足 l ≤ b ≤ r l \leq b \leq r lbr,所以只需要判断前面,这样执行一次即可!输出 1
3.如果满足 ∣ r − a ∣ > = x |r-a|>=x ra>=x && ∣ r − b ∣ > = x |r-b|>=x rb>=x or ∣ a − l ∣ > = x |a-l|>=x al>=x && ∣ b − l ∣ > = x |b-l|>=x bl>=x,那么我们可以想成 a a a b b b分别经过一次操作可以变成同一个数,那么合起来就算操作两次,输出2
4.如果a,b很近,但两个数可以分别跳到对方端点,那么就可以执行三次操作结束。
如果以上都不行那就无法,-1

#include <iostream>
#include <algorithm>
#define int long long
#define end(x) {cout<<x<<endl;return;}
using namespace std;
const int N = 2*1e5+10;
void sove(){
    int l,r,x;
    cin>>l>>r>>x;
    int a,b;
    cin>>a>>b;
    if(a==b)end(0);
    if(abs(a-b)>=x)end(1);
    if(r-max(a,b)>=x||min(a,b)-l>=x)end(2);
    if(r-a>=x&&b-l>=x||r-b>=x&&a-l>=x)end(3);
    end(-1);
}

signed main(void){
    int _=1;
    cin>>_;
    while(_--)sove();
    return 0;
}

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

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

相关文章

Windows环境下安装及部署Nginx教程(含多个站点部署)

目录 一、下载安装Nginx 二、部署Nginx 三、多站点部署的情况 1、nginx域名解析&#xff0c;虚拟主机&#xff1a; 四、带https的站点如何部署&#xff0c;与http的有何不同点&#xff1f; 一、下载安装Nginx 1、官网下载地址&#xff1a;https://nginx.org/en/download.h…

2022 年第四届河南省 CCPC 大学生程序设计竞赛vp补题

Dashboard - 2022 CCPC Henan Provincial Collegiate Programming Contest - Codeforces Problem B. Hash 思路&#xff1a; 发现31的次幂取模的答案&#xff0c;所以如果一段太长肯定不如拆成2段。首先如果一段长度为7,那么无论他的开头是a,eh,n的谁,都有val>31^6887503…

0基础学习VR全景平台篇第29章:场景功能-音乐解说

本期为大家带来蛙色VR平台&#xff0c;场景管理模块-音乐功能&#xff01; 功能位置示意 一、本功能将用在哪里&#xff1f; 优秀VR全景作品不仅注重视觉的体验&#xff0c;接入契合场景的背景音乐与解说&#xff1b; 可将音乐与解说进行全局播放或进行分场景播放&#xff0…

前端学习--Vue(4) 生命周期

一、组件的生命周期 一个组件从创建-运行-销毁的真个阶段&#xff0c;强调的是一个时间段 1.1 生命周期函数 1.1.1 创建 &#xff08;只执行一次&#xff09; created() 阶段任务&#xff1a;最早可以使用methods中的方法发起ajax请求获取数据&#xff0c;并将数据挂载到d…

论文阅读笔记(三)——有监督解耦+信息瓶颈

论文信息 《Disentangled Information Bottleneck》 论文地址&#xff1a;https://ojs.aaai.org/index.php/AAAI/article/view/17120 代码地址&#xff1a;GitHub - PanZiqiAI/disentangled-information-bottleneck inproceedings{pan2021disentangled, title{Disentangled in…

vue3与vue2共存环境搭建

1、全局安装vue2 npm install vue-cli -g2、自行在任意位置创建一个文件夹&#xff0c;局部安装vue3 npm初始化 npm initnpm初始化 提示&#xff1a; 初始化后 出现文件package.json 如果没有初始化 会报错&#xff0c;且文件夹中不会新增内容 3、局部安装vue3 npm install …

一名优秀的黑客,具备的有哪些特质

想要成为网络hacker黑客&#xff1f;十个必会的特质 一、基本的计算机知识 把它列为第一条&#xff0c;相信很多人肯定会觉得不以为然&#xff0c;其实掌握必要的计算机知识对黑客入门非常重要。这些包括&#xff1a;计算机硬件的组成、操作系统的安装、Windows批处理命令、命…

LeetCode_DFS_困难_1377.T 秒后青蛙的位置

目录 1.题目2.思路3.代码实现&#xff08;Java&#xff09; 1.题目 给你一棵由 n 个顶点组成的无向树&#xff0c;顶点编号从 1 到 n。青蛙从 顶点 1 开始起跳。规则如下&#xff1a; 在一秒内&#xff0c;青蛙从它所在的当前顶点跳到另一个未访问过的顶点&#xff08;如果它…

apt remove purge的区别 删除包的同时删除配置文件

1、apt remove purge的区别 查看 man apt apt remove&#xff1a;删除软件包&#xff0c;不删除配置文件。这么做的目的是将来再次安装这个包时 原来的配置文件会自动加载供使用。也可以避免误删除包&#xff0c;配置文件还在的话&#xff0c;重新安装一次软件包就可以恢复到…

亚马逊云科技出海日6月9日盛夏盛启

向全球价值链上游奋进 中国企业增强国际竞争力的关键&#xff0c;是努力朝全球价值链上游奋进&#xff0c;发力技术出海。中国的出海新机遇&#xff0c;背后曾是疫情在全球按下数字互联和数字化升级的快进键&#xff0c;跨境电商、在线社交、移动支付、数字服务等数字经济迎来…

Spring 学习总结(37)—— 了解什么是单体的模块化,Spring Modulith 入门实践

1、介绍 模块化单体是一种架构风格,代码是根据模块的概念构成的。 对于许多组织而言,模块化单体可能是一个很好的选择。 它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spring Modulith 是 Spring 的一个实验项目,可用于构建模块化单体应用…

《消息队列高手课》课程笔记(一)

消息生态系统全景图 为什么需要消息队列&#xff1f; 异步处理 大多数程序员在面试中&#xff0c;应该都问过或被问过一个经典却没有标准答案的问题&#xff1a;如何设计一个秒杀系统&#xff1f; 这个问题可以有一百个版本的合理答案&#xff0c;但大多数答案中都离不开消息…

马蹄集oj赛(第五次)

目录 围栏木桩 某农场有一个由按编号排列的根木桩构成的首尾不相连的围栏。现要在这个围栏中选取一些木桩&#xff0c;按照原有的编号次序排列之后&#xff0c;这些木桩高度成一个升序序列。 大厨小码哥 附庸的附庸 最长子段和 旅费 纸带 暧昧团 上楼梯 上楼梯2 采蜜 围栏…

Spring 学习总结(36)—— Spring 状态机优雅实践

1、什么是状态机 1.1 什么是状态 先来解释什么是“状态”( State )。现实事物是有不同状态的,例如一个自动门,就有 open 和 closed 两种状态。我们通常所说的状态机是有限状态机,也就是被描述的事物的状态的数量是有限个,例如自动门的状态就是两个 open 和 closed 。 状…

Mybatisplus真实高效批量插入附容错机制

文章目录 概要优化技术细节小结 概要 提示&#xff1a;mybatisplus自带真实批量插入 在mybatisplus已知常用批量插入为继承Iservice里的saveBatch方法和saveOrUpdateBatch方法&#xff0c; 进入源码可知&#xff0c;此两种方法的插入均为单条插入,如图: 其中可看出&#xff0…

果汁脱色树脂,制糖行业脱色,医药行业脱色

具有控制孔径的大孔强碱性Ⅰ型阴特种脱色用离子交换树脂 Tulsimer A-722是一款具有便于颜色和有机物去除的控制孔径的&#xff0c;专门开发的大孔强碱性Ⅰ型阴离子交换树脂。 Tulsimer A-722 &#xff08;氯型&#xff09;专门应用于糖浆脱色。 Tulsimer A-722由于其本身…

字节真的是宇宙尽头吗?

身边在字节的朋友很多人抱怨很卷&#xff0c;但卷到何种程度?很多人没有直观感受。某乎上一个问题(在字节跳动工作是怎样的?)点赞排名第一的回答生动的解释了字节的卷。 租房的舍友在字节工作。 舍友主卧&#xff0c;我次卧。 合租两个月了&#xff0c;我没见过舍友长什么样。…

Python实现ACO蚁群优化算法优化Catboost回归模型(CatBoostRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 蚁群优化算法(Ant Colony Optimization, ACO)是一种源于大自然生物世界的新的仿生进化算法&#xff0c…

Bark(Suno AI) 搭建及使用

前言 Bark 是由Suno AI创建的基于转换器的文本到音频模型。Bark 可以生成高度逼真的多语言语音以及其他音频 - 包括音乐、背景噪音和简单的音效。该模型还可以产生非语言交流&#xff0c;如大笑、叹息和哭泣。 1: 环境 win10 rtx 3060TI bark 下载地址 https://github.com/sun…

Jenkins配置Powershell脚本,通过脚本控制开发/测试服务器

📢欢迎点赞 :👍 收藏 ⭐留言 📝 如有错误敬请指正,赐人玫瑰,手留余香!📢本文作者:由webmote 原创📢作者格言:无尽的折腾后,终于又回到了起点,工控,我来了 !序言 因为需要在Windows上编译和部署程序,因此需要借助PowerShell的脚本力量完成这些事情。 目标…