Educational Codeforces Round 166 (Rated for Div. 2)

文章目录

  • A. Verify Password
    • 题意:
    • 题解:
    • 代码:
  • B. Increase/Decrease/Copy
    • 题意:
    • 题解:
    • 代码:
  • C. Job Interview
    • 题意:
    • 题解:
    • 代码:

A. Verify Password

题意:

给定一个字符串判断字符串是否同时满足以下条件:

  • 密码只能由小写拉丁字母和数字组成;
  • 字母后面不能有数字(因此,每个字母后面要么有另一个字母,要么字符串结束);
  • 所有数字应按非递减顺序排序;
  • 所有字母应按非递减顺序排序。

请注意,密码可以只有字母或数字。

题解:

模拟一下判断即可,没什么说的。

代码:

#include <iostream>
#include<cstring>
#include<algorithm>using namespace std;void solve(){string a;int n;cin>>n>>a;int i;int flag=1;int sz=a.size()-1;for(i=0;i<sz;i++){if(a[i]>='0'&&a[i]<='9'&&a[i]>='0'&&a[i]<='9'){if(a[i]>a[i+1]){cout<<"NO"<<endl;return;}}else{break;}}flag=1;while(a[i]>='0'&&a[i]<='9') i++;for(;i<sz;i++){if(a[i]>='a'&&a[i]<='z'){if(a[i]>a[i+1]){cout<<"NO"<<endl;return;}}else{cout<<"NO"<<endl;return;}}cout<<"YES"<<endl;
}
int main()
{int t;cin>>t;while(t--) solve();return 0;
}

B. Increase/Decrease/Copy

题意:

给你两个整数数组:长度为 n n n 的数组 a a a 和长度为 n + 1 n+1 n+1 的数组 b b b

  • 选择数组 a a a 中的任意元素,并将其增加 1 1 1
  • 选择数组 a a a 中的任意元素,并将其减少 1 1 1
  • 选择数组 a a a 中的任意元素,复制并将复制的元素添加到数组 a a a 的末尾。

你的任务是计算将数组 a a a 转换为数组 b b b 所需的最少上述操作次数(可能为零)。可以证明,在问题的限制条件下,这总是可能的。

题解:

对于前n的元素,求出 a n s = ∑ i = 0 n a b s ( a i − b i ) ans=\sum_{i=0}^nabs(a_{i}-b_{i}) ans=i=0nabs(aibi),对于第n+1个元素判断对于前n元素个操作时是否存在某一刻等于 b n + 1 b_{n+1} bn+1,此时操作次数最少为 a n s + 1 ans+1 ans+1,若不存在则判断b数组中前n个元素那个元素和第n+1个元素差值最小,若差值为 t e m p temp temp,则最少操作次数即为 a n s + t e m p ans+temp ans+temp

代码:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<vector>
#define int long longusing namespace std;const int N=2e5+10;
int a[N],b[N];void solve(){int n;cin>>n;for(int i=1;i<=n;i++) cin>>a[i];for(int i=1;i<=n+1;i++) cin>>b[i];int ans=0;int flag=0;for(int i=1;i<=n;i++){int x=max(a[i],b[i]);int y=min(a[i],b[i]);if(b[n+1]>=y&&b[n+1]<=x){ans=1;flag=1;break;}}int temp=0x3f3f3f3f;if(flag==0){for(int i=1;i<=n;i++){int x=abs(a[i]-b[n+1]);int y=abs(b[i]-b[n+1]);if(y<x) x=y;temp=min(temp,x);}ans+=temp;ans++;}for(int i=1;i<=n;i++){ans+=abs(a[i]-b[i]);}cout<<ans<<endl;
}
signed main(){int t;cin>>t;while(t--) solve();return 0;
}

C. Job Interview

题意:

Monocarp 打算开一家自己的 IT 公司。他想招聘 n n n 名程序员和 m m m 名测试员。

n + m + 1 n+m+1 n+m+1 个候选人,按到达时间顺序从 1 1 1 n + m + 1 n+m+1 n+m+1 依次编号。 i i i -th候选人的编程技能为 a i a_i ai ,测试技能为 b i b_i bi (一个人的编程技能和测试技能是不同的)。团队的技能是所有被聘为程序员的候选人的编程技能之和,以及所有被聘为测试员的候选人的测试技能之和。

当应聘者前来面试时,Monocarp 会尝试将其分配到最适合的职位(如果应聘者的编程技能较高,则录用其为程序员,否则录用其为测试员)。如果该职位的所有名额都已招满,Monocarp 就会将他们分配到其他职位。

你的任务是,针对每个候选人,计算如果除他们之外的所有人都来面试,团队的技能。请注意,这意味着正好有 n + m n+m n+m 名候选人来参加面试,因此公司的所有 n + m n+m n+m 个职位都会被填满。

题解:

代码:

#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
typedef long long ll;
const int N=2e5+10,M=1e9+7;
ll n,m;
ll a[N],b[N],vis[N];
void solve()
{cin>>n>>m;for(int i=1;i<=n+m+1;i++){cin>>a[i];}for(int i=1;i<=n+m+1;i++){cin>>b[i];}ll cnt1=0,cnt2=0,sum=0,last1=0,last2=0;for(int i=1;i<=n+m;i++){if(cnt2==m||(cnt1<n&&a[i]>b[i])){vis[i]=1;cnt1++;last1=i;sum+=a[i];}else{vis[i]=2;cnt2++;last2=i;sum+=b[i];}}ll f1=n+m+1,f2=n+m+1;for(int i=last1+1;i<=n+m;i++){if(a[i]>b[i]){f1=i;break;}}for(int i=last2+1;i<=n+m;i++){if(a[i]<b[i]){f2=i;break;}}for(int i=1;i<=n+m+1;i++){ll t=sum;if(vis[i]==1){if(i<=last1){t-=a[i];t-=b[f1];t+=a[f1];t+=b[n+m+1];}}else if(vis[i]==2){if(i<=last2){t-=b[i];t-=a[f2];t+=b[f2];t+=a[n+m+1];}}cout<<t<<" ";}cout<<'\n';
}
int main()
{std::ios::sync_with_stdio(0);std::cin.tie(0);int T=1;cin>>T;while(T--){solve();	}	return 0;
} 

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

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

相关文章

Word多级标题编号不连续、一级标题用大写数字二级以下用阿拉伯数字

Word多级标题编号不连续 &#xff1a; 一级标题用大写数字二级以下用阿拉伯数字&#xff1a;

墨雨云间王星越雨中情深

墨雨云间&#xff1a;王星越的雨中情深&#xff0c;吻上萧蘅&#xff0c;宿命之恋在烟雨朦胧的《墨雨云间》中&#xff0c;王星越饰演的角色&#xff0c;以其深邃的眼神和细腻的演技&#xff0c;将一段宿命之恋演绎得淋漓尽致。当镜头聚焦于他与阿狸在雨中的那一幕&#xff0c;…

(南京观海微电子)——温度对TFT影响及改善方式

温度如何损坏 LCD&#xff1f; 这个工作温度范围会影响设备内的电子部分&#xff0c;超出范围会导致 LCD 技术在高温下过热或在寒冷时变慢。 至于液晶层&#xff0c;如果放在高温下&#xff0c;它会变质&#xff0c;导致它和显示器本身出现缺陷。 LCD 温度限制&#xff1a; 什…

unity3d:GameFramework+xLua+Protobuf+lua-protobuf,与服务器交互收发协议

概述 1.cs收发协议&#xff0c;通过protobuf序列化 2.lua收发协议&#xff0c;通过lua-protobuf序列化 一条协议字节流组成 C#协议基类 CSPacketBase&#xff0c;SCPacketBaseC#用协议基类 proto生成的CS类&#xff0c;基于这两个基类。分别为CSPacketBase是客户端发送至服…

《python程序语言设计》2018版第5章第48题以0,0为圆心 绘制10个左右的同心圆

在0&#xff0c;0点处绘制10个圆。 其实这个题先要记住python不会0&#xff0c;0为原点进行绘画。 它是按半径来画&#xff0c;所以我们要先把turtle这个小画笔送到它应该去的起点。&#xff08;我经常有这样的错觉&#xff0c;每次都是这样想办法把自己拉回来&#xff09; 我…

AI视频教程下载:如何用ChatGPT来求职找工作?

这是一个关于使用ChatGPT找工作的课程&#xff0c;作者分享了自己的求职经验和技巧&#xff0c;介绍了如何使用人工智能来改进个人资料和简历&#xff0c;以及如何研究公司和面试。通过细节处理职业目标、分享个人兴趣和技能、寻求导师和专业发展机会&#xff0c;以及在行业内建…

各地业主们开始换着花样保房价了

不止杭州&#xff0c;还在广州、南京、成都...更多城市蔓延开来 各位有没有想过&#xff0c;为什么会有“保房价” 我想很多人最先听说这个词还是来自杭州业主 的确&#xff0c;作为曾经受房价影响最大的一个城市&#xff0c;杭州业主们可以说是最深谙房价上涨逻辑的那泼人了…

【计算机网络基础知识】

首先举一个生活化的例子&#xff0c;当你和朋友打电话时&#xff0c;你可能会使用三次握手和四次挥手的过程进行类比&#xff1a; 三次握手&#xff08;Three-Way Handshake&#xff09;&#xff1a; 你打电话给朋友&#xff1a;你首先拨打你朋友的电话号码并等待他接听。这就…

为什么在 TypeScript 中应优先使用类型而非接口

类型和接口是每个 TypeScript 程序中常用的强大功能。然而&#xff0c;由于类型和接口在功能上非常相似&#xff0c;这就引出了一个问题&#xff1a;哪一个更好&#xff1f; 今天&#xff0c;我们将评估类型和接口&#xff0c;并得出结论&#xff0c;为什么在大多数情况下你应该…

C#面:XML与 HTML 的主要区别是什么

C# XML与HTML有以下几个主要区别&#xff1a; 用途不同&#xff1a;XML&#xff08;eXtensible Markup Language&#xff09;是一种用于存储和传输数据的标记语言&#xff0c;它的主要目的是描述数据的结构和内容。HTML&#xff08;HyperText Markup Language&#xff09;是一…

HikariCP连接池初识

HikariCP的简单介绍 hikari-光&#xff0c;hikariCP取义&#xff1a;像光一样轻和快的Connetion Pool。这个几乎只用java写的中间件连接池&#xff0c;极其轻量并注重性能&#xff0c;HikariCP目前已是SpringBoot默认的连接池&#xff0c;伴随着SpringBoot和微服务的普及&…

Docker面试整理-Docker Swarm与Kubernetes有什么区别?

Docker Swarm 和 Kubernetes 都是容器编排工具,它们可以帮助你管理大规模的容器部署。尽管它们的目标相似,但在设计哲学、功能和生态系统支持等方面存在显著差异。下面是 Docker Swarm 和 Kubernetes 在几个关键方面的比较: 1. 设计和易用性 Docker Swarm: Docker Swarm 的…

ssm汽车在线销售系统

摘 要 21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存…

稀疏高效扩散模型:推动扩散模型的部署与应用

数据驱动的世界中&#xff0c;生成模型扮演着至关重要的角色&#xff0c;尤其是在需要创建逼真样本的任务中。扩散模型&#xff08;Diffusion Models, DM&#xff09;&#xff0c;以其卓越的样本质量和广泛的模式覆盖能力&#xff0c;已经成为众多数据生成任务的首选。然而&…

nginx: [error] invalid PID number ““ in “/run/nginx.pid“

两种问题&#xff0c;我自己碰到的情况 ./nginx -s reload执行命令后报错 nginx: [error] invalid PID number ““ in “/run/nginx.pid“ 第一种情况&#xff0c;pid被注释了 /usr/local/nginx/conf/nginx.conf #user nobody; worker_processes 1;// 可能是这里被注释了…

使用 AES 算法在 C# 中实现安全字符串加密和解密

介绍 在当今的数字时代&#xff0c;数据安全至关重要。无论是保护用户密码、财务信息还是任何其他敏感数据&#xff0c;加密都是保护信息免遭未经授权访问的基本工具。在本文中&#xff0c;我们将探讨如何使用 .NET Core 中的高级加密标准 (AES) 算法在 C# 中实现安全字符串加…

【UE5:CesiumForUnreal】——从地球全景聚焦到某区域的动画制作

目录 1.添加Render Texture并和SceneCapture2D关联 1.1 场景准备 1.2 添加Render Texture 1.3 添加SceneCapture2D并关联 2.在Widget上显示Render Texture 2.1 创建Widget 2.2 配置Widget 2.3 添加控制按钮 2.4 添加窗口逻辑 3.制作Sequencer动画 3.1 创建Sequencer…

基于实验的电动汽车动力电池SOC

前言 本文为笔者在学习《基于MATLAB的新能源汽车仿真》过程中学习笔记&#xff0c;所涉及的表格数据和公式均为书籍里的。仿真数据是网上找的恒电流放电数据。本文仅作为笔者的入门学习记录。 一、分析动力电池SOC估算方法 SOC是指动力电池按照规定放电条件可以释放的容量占…

docker是什么?和kubernetes(k8s)是什么关系?

docker是什么&#xff1f;和kubernetes(k8s)是什么关系&#xff1f; 前言 如果你想安装一个vim编辑器&#xff0c;在不同的环境里&#xff0c;你需要执行不同的命令&#xff1a; 在ubuntu中&#xff0c;你需要执行apt-get install vim。在centos中&#xff0c;你需要执行yum i…

计算机网络 期末复习(谢希仁版本)第5章

**屏蔽作用&#xff1a;**运输层向高层用户屏蔽了下面网络核心的细节&#xff08;如网络拓扑、所采用的路由选择协议等&#xff09;&#xff0c;使应用进程看见的就是好像在两个运输层实体之间有一条端到端的逻辑通信信道。 10. 端口用一个 16 位端口号进行标志&#xff0c;允许…