Educational Codeforces Round 37 (Rated for Div. 2)

Educational Codeforces Round 37 (Rated for Div. 2)


A.Water The Garden

题意:Max想给花园浇水。花园可被视为长度为n的花园床,花园内共有k个水龙头,分别在花园的xi(0≤xi<n)处,在j秒内花园的[xi-(j-1),xi+(j-1)]处将被浇灌。Max想要同时打开所有水龙头,问花园全部被浇灌的最小秒数是多少。

解题思路:题目所给n的范围比较小,用数组保存每个水龙头当前所到达的左右极限,标记然后直接遍历就好。

AC代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{int n,t,k,i,a[200],x[200],y[200],time;scanf("%d",&t);while(t--){memset(a,0,sizeof(a));scanf("%d%d",&n,&k);for(i=0; i<k; i++){scanf("%d",&x[i]);y[i]=x[i];}time=0;for(;;){time++;for(i=0;i<k;i++){if(x[i]>0) {a[x[i]-1]=1;x[i]--;}if(y[i]<=n){a[y[i]-1]=1;y[i]++;}}int flag=1;for(i=0;i<n;i++){if(a[i]==0) {flag=0;break;}}if(flag) break;}printf("%d\n",time);}return 0;
}

B.Tea Queue

题意:
n个学生排队喝茶,喝茶需要1分钟,每个学生排队从start_time开始等到end_time,输出n个学生分别喝到茶的时间,如果该学生不能喝到茶,输出0。

解题思路:
对于每个学生,比较一下当前时间和开始等待时间以及结束时间就好,start_time<=time<=end_time输出当前时间,time<start_time则当前时间+1,time>end_time则不能喝到茶,输出0。
第一遍用for写没考虑time<start_time的情况wa了一发pre,丢人。

AC代码:

#include <stdio.h>
#include <stdlib.h>int main()
{int t,n,i,a[1000][2],time;scanf("%d",&t);while(t--){scanf("%d",&n);for(i=0;i<n;i++){scanf("%d%d",&a[i][0],&a[i][1]);}time=1;i=0;while(i<n){if(time<a[i][0]) time++;else if(a[i][0]<=time&&a[i][1]>=time) {i++;printf("%d ",time++);}else {i++;printf("0 ");}}printf("\n");}return 0;
}

C.Swap Adjacent Elements

题意:有一个由n个数组成的序列,从1到n的每个整数只出现一次。
对于序列n,有长度为n-1的01字符串,如果s[i]=1,则可以将序列中第i个元素与第i+1个元素交换任意次,如果为0,则不能进行交换。
问能否通过执行一系列交换操作,使该序列按升序排序。

解题思路:
对于元素i,如果a[i]>i+1,则意味着a[i]需要经过[i,a[i]-2]段才能归位。即对于序列中任意a[i]>i+1,数组s中s[i]-s[a[i]-2]段需要全部为1才能完成交换。
具体操作上因为n的范围是200000,所以如果直接两重循环暴力求解会超时。所以这里可以建立一个数组来记录i和a[i]-2,并且将当前数据和上一个记录的数据进行对比来决定是更新当前数据还是重新记录。

AC代码:

#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;char s[200005];
int a[200000],b[200000]= {0},c[200000]={0};
int main()
{int n,i,j,flag,t;scanf("%d",&n);for(i=0; i<n; i++){scanf("%d",&a[i]);}scanf("%s",s);flag=1;t=0;for(i=0; i<n; i++){if(a[i]>i+1){if(t==0||i>c[t-1]||a[i]-2<b[t-1]){b[t]=i;c[t++]=a[i]-2;}else if(i<b[t-1]&&a[i]-2<c[t-1]) b[t-1]=i;else if(i>b[t-1]&&a[i]-2>c[t-1]) c[t-1]=a[i]-2;}}flag=1;for(i=0;i<t;i++){//printf("%d %d\n",b[i],c[i]);for(j=b[i];j<=c[i];j++)if(s[j]=='0'){flag=0;break;}}if(flag)printf("YES\n");elseprintf("NO\n");return 0;
}

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

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

相关文章

详解 .Net6 Minimal API 的使用方式

随着 .Net6 的发布&#xff0c;微软也改进了对之前 ASP.NET Core 构建方式&#xff0c;使用了新的 Minimal API 模式。以前默认的方式是需要在 Startup 中注册 IOC 和中间件相关&#xff0c;但是在 Minimal API 模式下你只需要简单的写几行代码就可以构建一个 ASP.NET Core的We…

.NET 20周年专访 - 张善友:.NET 技术是如何赋能并改变世界的

点击蓝字关注我们今年是 .NET 发布20周年&#xff0c;值此20周年之际&#xff0c;微软 Reactor 特别策划了 .NET 20周年系列主题专访。我们邀请了数位中国 .NET 领域的技术专家以及社区名人&#xff0c;来聊聊他们与 .NET 的情缘、认识 .NET 的契机、选择 .NET 的理由&#xff…

【ArcGIS错误异常100问】之005:ArcGIS字段计算器python中文编码问题解决

问题描述&#xff1a; 现因工作的需要&#xff0c;对照2017最新版&#xff1a;《土地利用现状分类》&#xff08;GBT 21010-2017&#xff09;&#xff0c;需根据DLMC对DLBM进行批量修改&#xff0c;如旱地是0103&#xff0c;其他林地是0307等&#xff0c;共计19种用地类型。 问…

【ArcGIS微课1000例】0055:根据图层创建自定义图例符号案例教程

在利用ArcGIS作图时,有时候需要根据线状或面状图层自己的矢量形状去创建图例项目符号,本文讲解根据图层创建自定义图例符号。 本实验使用的数据为配套案例数据包中的0055.rar中的水库数据。 文章目录 1. 添加“新建图例图面形状”工具2. 根据图层形状创建符号3. 绘制形状符号…

jQuery 3.3.1已经发布,开发团队正在准备4.0版本

\看新闻很累&#xff1f;看技术新闻更累&#xff1f;试试下载InfoQ手机客户端&#xff0c;每天上下班路上听新闻&#xff0c;有趣还有料&#xff01;\\\jQuery 3.3.1已经发布&#xff0c;其中包含了许多新特性也提出要移除几个之前的特性&#xff0c;移除一些特性是为了jQuery …

C#.NET版本、Visual Studio版本对应关系

C#版本.NET版本Visual Studio版本发布日期特性C# 1.0.NET Framework 1.0Visual Studio .NET 20022002-02-13委托、事件C# 1.1.NET Framework 1.1Visual Studio .NET 20032003-04-24APM&#xff08;异步编程模型&#xff09;C# 2.0.NET Framework 2.0Visual Studio 20052005-11-…

真魔法!图形化管理 Kafka 超轻量的自动化工具

Kafka Magic[1] 是一个用于处理 Apache Kafka 集群的 GUI 工具。它可以查找和显示消息、在 Topic 之间转换和移动消息、查看和更新模式、管理 Topic 以及自动化复杂任务。Kafka Magic 通过方便的用户界面促进 Topic 管理、QA 和集成测试。Kafka Magic Community Edition 可免费…

前端工程构建工具——Yeoman

一、Yeoman 简介 通常在开发新项目时我们都需要配置工程环境&#xff0c;开发目录&#xff0c;需要下载一些库、框架文件&#xff08;如 jQuery、Backbone 等&#xff09;&#xff0c;配置编译环境&#xff08;Less、Sass、Coffeescript等&#xff09;&#xff0c;甚至还要配置…

【FME实战教程】001:FME2020中文安装图文教程(附安装包下载)

文章目录1. 安装license2. 安装FME Desktop3. 安装中文语言4. FME软件下载地址1. 安装license 打开软件安装包中的fme-flexnet-win-x64.msi&#xff0c;如下图所示&#xff1a; 点击Next。 点击Next。 单击install。 点击finish&#xff0c;完成。 &#xff08;1&#xff09;修…

算法导论 第三部分——基本数据结构——第14章:数据结构的扩张

本章通过扩张红黑树构造出两种数据结构&#xff1a;动态顺序统计和区间树。 1、动态顺序统计&#xff1a;查找倒数第i小的数据 复杂度为 lg(n) 为什么是扩张红黑树而不是搜索二叉树或者二叉树&#xff1f; 相对于搜索二叉树&#xff0c;红黑树的平衡性更好&#xff0c;高度在l…

/hgfs下无共享文件夹?/mnt下没有hgfs文件夹?vmhgfs-fuse:找不到命令?

前言&#xff1a;最近在使用linux的过程中&#xff0c;需要在宿主操作系统与客户操作系统间建立共享文件夹&#xff0c;遇到了些许问题&#xff0c;在网上参考了许多文章与各种尝试后&#xff0c;现得以解决&#xff0c;分享如下。1、系统环境&#xff1a;宿主操作系统&#xf…

GraphQL入门有

本文将从GraphQL是什么&#xff0c;为什么要使用GraphQL&#xff0c;使用GraphQL创建简单例子&#xff0c;以及GraphQL实战&#xff0c;四个方面对GraphQL进行阐述。说得不对的地方&#xff0c;希望大家指出斧正。 github项目地址&#xff1a;https://github.com/Charming2015/…

对话庄表伟:开源第一课

庄表伟目前就职于华为的开源管理中心。自2014年开源社成立之初&#xff0c;他便友情参与了开源社的筹办工作。2017年&#xff0c;开源社转型为完全由个人成员组成的组织&#xff0c;庄表伟就以个人身份加入了开源社。作为开源社理事&#xff0c;当被问到“为什么要参选”时&…

【FME实战教程】002:FME完美实现CAD数据转shp案例教程(以三调土地利用现状数据为例)

FME完美实现CAD数据转shp案例教程&#xff08;以三调土地利用数据为例&#xff09; 文章目录1. cad数据预览2. 转换过程3. shp数据预览1. cad数据预览 2. 转换过程 &#xff08;1&#xff09;打开FME Desktop2020中文软件&#xff0c;点击【新建】。 &#xff08;2&#xff09…

Linux学习之01_基础命令介绍

初学Linux&#xff0c;还在摸索中&#xff0c;在这个过程中希望能记录下学习到的东西&#xff0c;参考的的书籍为《鸟哥的Linux私房菜》 在这里学到的主要命令有这几个&#xff1a; data cal bc man shutdown sync 1、基础命令操作 data----显示日期与实践的命令 cal----显示日…

穷举算法实例

public static void main(String[] args) {Scanner scnew Scanner(System.in);System.out.println("输入头的个数:");int headsc.nextInt();System.out.println("输入腿的个数:");int footsc.nextInt();for(int i0;i<head;i){//假设兔子的数量为iint jh…

VMware Workstation All Key

官方下载&#xff1a;https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html 懒人打包&#xff1a;链接:https://pan.baidu.com/s/1kWJRfjL 密码:wzce 注&#xff1a;如果是WinXP或32位系统请用 10.0 版本 VMware 所有版本永久许可证激活密钥&…

【GlobalMapper精品教程】017:KML generator快速将坐标转为KML文件

本文介绍KML generator软件,并快速将坐标转为KML文件的使用方法,并用globalmapper中打开kml文件加以验证。本专栏配套完整的案例数据包,请打开data017.rar获取软件及数据。 文章目录 1. KML文件介绍2. kml generator软件介绍2.1 单点KML制作2.2 Excel数据KML制作2.3 文本文件…

从cpp向qml文件传中文字符串的方法

Qt 使用Unicode编码来存储操作字符串&#xff0c;但很多情况下&#xff0c;我们不得不处理采用其他编码格式的数据&#xff0c;举例来说&#xff0c;中文多采用GBK和Big5编码&#xff0c;而日本则多采用Shift-JIS or ISO2022编码。将其他编码格式的字符串转化成采用Unicode编码…

Codeforces 746 G. New Roads

题目链接&#xff1a;http://codeforces.com/contest/746/problem/G mamaya&#xff0c;不知道YY了一个什么做法就这样过去了啊 2333 首先我显然可以随便构造出一棵树满足他所给出的深度要求。 但是他还对于叶子节点的数目有要求。 考虑首先构造一棵树最大化在满足给出的深度条…