Codeforces Global Round 26 A~C2

news/2024/7/7 20:26:20/文章来源:https://www.cnblogs.com/qau-marisa3/p/18281189

惹啊啊啊啊,这场做得我发昏,最近总感觉不在状态,但还是再在冲击1600-1800的题目.
A. Strange Splitting

---------------------------------题解---------------------------------------------------
给你一个数组,让你自己构造一个RB字符串让R位置的数组中的数字的最大值-最小值不等于B位置的数组中的数字的最大值-最小值。

已知给定数组按升序排列,我们先遍历一遍字符串,如果全部相同的话则输出NO 因为差值都是0.

否则我们就让第二个为 R 这样R数组中数字max-min=0 然后其他的都是B 这样B数组的max-min必然不是0

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
int a[N];
int main()
{int t;cin>>t;while(t--){int n;cin>>n;int q=0;for(int i=1;i<=n;i++) cin>>a[i];for(int i=2;i<=n;i++){if(a[i]!=a[1])q=1;}if(q==0) cout<<"NO"<<endl;else{   cout<<"YES"<<endl;for(int i=1;i<=n;i++){if(i==2) cout<<"R";else cout<<"B";}cout<<endl;}}
}

B. Large Addition

----------------------------------------题解-----------------------------------
这题我们要关注那些数不能被相同位数的数字凑出 比如 末尾为9的数字就不行 因为9 只能是一对末尾为 (4,5,(3,6),(2,7)--等数字凑出不符合题意

其次数字的开头必须是1 因为如果是1以上的数字 结合必须用相同的位数凑出的条件 比如2 开头就必须是 (1,1) 也无法符合条件 如果是比如1337这个四位数 只能由两个三位数进位而来

又比如 2337这个四位数 是由两个开头为1的数字相加而来不符合条件.

在遍历除了开头和结尾之外的数字 如果有0则不能符合条件 因为如果有0则说明她下面的那一位没有完成相加大于等于10这个进位条件 那他们就必然会有一个<5 (这里可能很多同学觉得有问题建议自己去找几个数字试一下)。

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{int t;cin>>t;while(t--){string a;cin>>a;int jud=1;ll n=a.size();if(a[n-1]=='9') jud=0;if(a[0]!='1') jud=0;for(ll i=1;i<n-1;i++){if(a[i]=='0') jud=0;}if(jud==1) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
}

C1. Magnitude (Easy Version)

----------------------------------------题解------------------------------

有分析知道,2操作我们应该就需要用一次就够了,因为我们会通过一次2操作让他从负数变成一个较大的数,然后在不断相加,那么2操作什么时候收益最高呢,就是在他前缀和是极小值(切

是负数)的时候(注意这个理论我们下面的hard版本要用---与easy版本关系不大) 对于这个easy版本,我们只需要维护一个最大值并且同时保留一个不断采用1操作并且在当前尝试使用2操

作的值与最大值相比较就可以了,请结合代码理解

点击查看代码
#include<bits/stdc++.h>
using namespace std;
const int N=2e5+10;
typedef long long ll;
ll a[N];int main()
{int t;cin>>t;while(t--){ll n;cin>>n;for(ll i=1;i<=n;i++)cin>>a[i];ll mx=0,mn=0;for(ll i=1; i<=n; ++i){mx+=a[i],mn+=a[i];mx=max(mx,-mn);}cout<<mx<<endl;}}
/*
5
-1 0 -1 1 1
*/

C2. Magnitude (Hard Version)

能看到这里的都是糕手了,我会简化语言,主要分享思路。

----------------------------------------------------题解----------------------------------------------
这题我们是要找1,2操作都可以使用的部分

我们先处理简单的部分,假如说这个数组内全都是正数,那么我们是不是不论采用1,2操作都完全没区别所以假如说又n个数字,我们的答案就是2^n%Mod(以下把取模省略掉,自己做的时候别忘记)

还记得我们的1理论吗,我们要在前缀和最小的时候使用2操作,我们取完最小值之后,说明后面的操作不论是正数是负数,采用1,2操作都不会受到影响了,因为后面的所有操作的数字加起来一定是>=0的 所以我们用1,2都无所谓,这是2^(n-i)i是前缀和最小值所在的位置。 但是在凑出这个前缀和最小值的过程中 前缀和数组中的有些b[i]是大于0的,面对这些大于0的时候我们用1,2操作也都可以,因此答案为2(n-i)*2r(r是前缀和数组中大于0的个数)

点击查看代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{int t;cin>>t;while(t--){string a;cin>>a;int jud=1;ll n=a.size();if(a[n-1]=='9') jud=0;if(a[0]!='1') jud=0;for(ll i=1;i<n-1;i++){if(a[i]=='0') jud=0;}if(jud==1) cout<<"YES"<<endl;else cout<<"NO"<<endl;}
}**/////////////////keep hard ,be the best///////////////////////////////////**

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

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

相关文章

搭建工程之一 eclipse 中基于 maven 的 webapp工程能基于tomcat运行

一、背景作为开发人员,开发的web(运行在tomcat 容器中)希望能够在本地开发工具(eclipse)中运行调试,加快开发测试进度。 二、操作步骤 1、创建maven工程 在 eclipse 上右键,选择"New"---"Other" --- "Maven" ---- " Maven Project &…

【PythonGIS】基于Geopandas和Shapely计算矢量面最短路径

在GIS进行空间分析时经常会需要计算最短路径,我也是最近在计算DPC的时候有这方面的需求,刚开始直接是用面的中心点求得距离,但其对不规则或空洞面很不友好。所以今天跟大家分享一下基于Geopandas和Shapely计算矢量面最短路径,这里的最短即点/边的最短!​ 在GIS进行…

ls 设置颜色

1 查看别名对应的真实命令 2 设置颜色 格式: alias 别名=命令 示例 3 取消颜色 示例

主键Id自增,如何获取Id(Dapper)

这里用的是Dapper,以前用EF的时候好像有用到过db.savechanges(). 但是项目中没有这个,所以用以下的方法去获取id 背景:涉及到多表入库,需要获取主表的Id,所以用到了这个(timeFields 可以忽略)/// <summary>/// 单个添加/// </summary>/// <typeparam name…

JDK、Tomcat、Maven配置

一、JDK安装及配置 1.下载地址:https://www.oracle.com/java/technologies/downloads/2.下载后直接本地安装,选择路径默认即可,类似如下路径:C:/Program Files/Java/jdk_1.8.0_301 3. 配置环境变量路径:程序->计算机->右键->属性->高级系统设置->高级->…

VSCode + Qt + QMake 开发编译环境搭建

鉴于Qt官方IDE太过难用,VSCode+各种插件功能强大,遂采用VSCode来写Qt项目; 本博客在 Windows 平台进行指导操作,Mac、Linux 平台配置方式类似,学习其本质就可。前置准备VSCode,最新版本即可 本地 Qt 环境,版本随意,本文主要针对较老版本使用Qmake构建系统的项目环境变…

eclipse设置的Alt+/出现卡顿问题解决。

eclipse的设置中快捷键【Alt+/】只留下这个。可能会有Alt+Ctrl+/什么的,都改成别的。否则会出现冲突卡顿。

面试官:JVM调优,主要针对是哪一个区域?JVM内存结构是怎样的?

作为一个Java程序员,在日常的开发中,不必像C/C++程序员那样,为每一个内存的分配而操心,JVM会替我们进行自动的内存分配和回收,方便我们开发。但是一旦发生内存泄漏或者内存溢出,如果对Java内存结构不清楚,那将会是一件非常麻烦的事情!本文笔者将为大家详解Java内存结构…

Jenv和JDK安装与配置指南

介绍如何在Windows系统上安装和配置Jenv和JDK。步骤包括从GitHub下载并解压Jenv,配置环境变量;从Oracle官网下载安装JDK,设置系统环境变量。使用Jenv命令管理JDK版本,包括添加、列出、切换、设置全局或局部版本及删除版本。提供Jenv常用命令和帮助信息供参考。一、Jenv安装…

Springboot整合Apollo

一、Apollo作用 随着程序功能的日益复杂,程序的配置日益增多:各种功能的开关、参数的配置、服务器的地址…… 对程序配置的期望值也越来越高:配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库…

7月3日龙城新闻快报

龙城街道共有花园小区137个,为全市各街道最多,其中老旧小区37个,老旧小区居民约1.3万户近6万人。自市、区工作部署以来,聚焦37个老旧小区居民“出行难”问题,龙城街道组织“加梯服务队”以“加强精细治理、提升品质生活、感受城市温度”为目标,开启加装电梯工作“加速度”…

Cesium 实现可视域分析

*前言:尝试了网上好多个版本的可视域分析,感觉都有一些问题,我这个也可能不是最完美的,但是我觉得对我来说够用了,实现效果如下*此示例基于vue3上实现,cesium版本1.101.0 ,vite-plugin-cesium版本1.2.22 新建一个名为ViewshedAnalysis.js的JS文件 import glsl from ./…

从PDF到OFD,国产化浪潮下多种文档格式导出的完美解决方案

前言 近年来,中国在信息技术领域持续追求自主创新和供应链安全,伴随信创上升为国家战略,一些行业也开始明确要求文件导出的格式必须为 OFD 格式。OFD 格式目前在政府、金融、税务、教育、医疗等需要文件开放、共享和长期保存的行业中广泛应用。这种趋势在未来几年内将进一步…

Percona Toolkit 神器全攻略(监控类)

Percona Toolkit 神器全攻略(监控类)Percona Toolkit 神器全攻略系列共八篇,前文回顾:前文回顾Percona Toolkit 神器全攻略Percona Toolkit 神器全攻略(实用类)Percona Toolkit 神器全攻略(配置类)全文约定:$为命令提示符、greatsql>为GreatSQL数据库提示符。在后续…

手把手带你使用JWT实现单点登录

JWT(英文全名:JSON Web Token)是目前最流行的跨域身份验证解决方案之一,今天我们一起来揭开它神秘的面纱! 一、故事起源 说起 JWT,我们先来谈一谈基于传统session认证的方案以及瓶颈。 传统session交互流程,如下图:当浏览器向服务器发送登录请求时,验证通过之后,会将…

如何通过文档外发管控系统,实现重要数据的高效流转?

文档外发管控是指企业或组织对其内部文档的外发流程进行管理和控制的一系列措施,目的是为了保护企业的知识产权、商业秘密和客户信息等敏感数据。通常需要注意以下几个方面: 1.权限管理:确保只有授权人员可以访问和外发文档; 2.审批流程:外发文档前需要经过一定的审批流程…

人工智能产业综合标准化体系

人工智能产业综合标准化体系 https://mp.weixin.qq.com/s/dRjOjag2fKww1Trn8tJR7A参考文献链接 https://mp.weixin.qq.com/s/dRjOjag2fKww1Trn8tJR7A人工智能芯片与自动驾驶