Codeforces Round 908 (Div. 2)题解

目录

A. Secret Sport

题目分析:

B. Two Out of Three

题目分析: 

C. Anonymous Informant

 题目分析:


A. Secret Sport

题目分析:

A,B一共打n场比赛,输入一个字符串由'A'和‘B’组成代表A赢或者B赢(无平局),因为题目说明这个人记得一定打了n场比赛,所以也就是n场比赛结束,题目说明,一旦分出胜负,比赛当场结束,那么一整场比赛的结束一定是分出了胜者,所以一定是字符串的最后一个,也没有所谓的'?'(平局)的情况出现

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin(),a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
typedef pair<int,int>pii;
const int N =1e5+7;
signed main()
{IOS
use{int n;cin>>n;string a;cin>>a;cout<<a.back()<<endl;}
return 0;
}

B. Two Out of Three

题目分析: 

给定一个数组a,让创造出一个等长数组并且满足题目条件:ai=aj时,那三条,不过一整个b数组里面只能出现三种之中的两种,如果出现三种或者一种结果是不对的。

对于a数组,必须有重复的数才行,否则连前提条件ai=aj都满足不了,也就是0种。

对于重复数:

  1. 出现两次的数,那么我们让第一个数为1,第二个数为2只能 满足出现1种的情况,所以必须要有至少两组的出现两次的数例如样例3:1 1 2 2.
  2. 对于出现两次以上的数,比如出现了3次,我们较为想当然的让它们为1 , 2 ,3,结果发现这样写三种全有,那么对于这种我们只能让它出现三种其中的一种,也就是与第一种情况相同,换句话说:对于出现两次的数,和出现两次以上的数是一种做法 .
#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin(),a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
typedef pair<int,int>pii;
const int N =1e5+7;
signed main()
{IOS
use{int n;cin>>n;vct<int>a(n+1);int cnt[101]={};for(int i=1;i<=n;i++){cin>>a[i];cnt[a[i]]++;}int x2=0;for(int i=1;i<=100;i++){if(cnt[i]>=2)x2++;}if(x2<2)cout<<"-1"<<endl;else{vct<bool>st(101,1);int cntx=1;for(int i=1;i<=n;i++){if(cnt[a[i]]>=2&&st[a[i]]&&cntx&&cntx<3){cout<<cntx+1<<" ";st[a[i]]=0;cntx++;}else cout<<"1 ";}cout<<endl;}
}return 0;
}

C. Anonymous Informant

 题目分析:

给一个数组b,有人说这是由一个数组a进行如下操作得到的:

  1. 取一个x满足a_x=x
  2. 将a数组向左移x格

 让判断真假。

对于第x位置的a_x向左移动x格,就变成了末尾,也就是a_n,那么既然b是由a数组得来的,我们可以逆推出:每次操作向右移动b_n格,最终得到数组a,因为数组a不是确定的,所以我们需要判断在逆推回a数组的时候是否会出现不可行的情况,因为正推的条件是a_x=x,故逆推的条件是b_n \le n,如果不满足逆推条件也就是不可行情况,结果为假。

对于操作次数k,(1 \le k \le 10^9),故我们考虑去除多余重复的操作,也就是取min(n,k)次操作即可.

#include<bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define INF 0x3f3f3f3f
#define IOS ios::sync_with_stdio(false);cin.tie(0);
#define int long long
#define pb push_back
#define vct vector
#define checkbit __builtin_popcount
#define gcd __gcd
#define use int T;cin>>T;while(T--)
#define LEN length()
#define all(a) a.begin(),a.end()
template<class T> bool mmax(T &u, T v) { return u < v ? (u = v, 1) : 0; }
template<class T> bool mmin(T &u, T v) { return u > v ? (u = v, 1) : 0; }
#define lowbit(x) (x&(-x))
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
using namespace std;
typedef pair<int,int>pii;
const int N =1e5+7;
signed main()
{IOS
use{int n,k;cin>>n>>k;vct<int>a(n+1);int mas=min(n,k);for(int i=1;i<=n;i++){cin>>a[i];}int x=n;bool isok=1;while(mas--){if(a[x]>n){isok=0;break;}x=(x+n-a[x])%n;}if(isok)cout<<"Yes"<<endl;else cout<<"No"<<endl;
}return 0;
}

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

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

相关文章

如何在CentOS上安装SQL Server数据库并通过内网穿透工具实现远程访问

文章目录 前言1. 安装sql server2. 局域网测试连接3. 安装cpolar内网穿透4. 将sqlserver映射到公网5. 公网远程连接6.固定连接公网地址7.使用固定公网地址连接 正文开始前给大家推荐个网站&#xff0c;前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;…

遇到了别感到奇怪!这其实是python的三目运算!

三目运算定义 我们熟知的三目运算通常表达式是&#xff1a; 判断条件(返回布尔值) ? 为真的结果 &#xff1a;为假的结果。 Python中的三目运算 而在Python中的三目运算并无 ?和:的表达式这种形式。Python的三目运算符也被称为三元运算符&#xff0c;是一种简洁的条件表达…

Vue.js中的路由(router)和Vue Router的作用?

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…

Spring Cloud LoadBalancer基础知识

LoadBalancer 概念常见的负载均衡策略使用随机选择的负载均衡策略创建随机选择负载均衡器配置 Nacos 权重负载均衡器创建 Nacos 负载均衡器配置 自定义负载均衡器(根据IP哈希策略选择)创建自定义负载均衡器封装自定义负载均衡器配置 缓存 概念 LoadBalancer(负载均衡器)是一种…

算法导论笔记5:贪心算法

P216 第15章动态规划 最优子结构 具有它可能意味着适合应用贪心策略 动态规划(Dynamic Programming)算法的核心思想是:将大问题划分为小问题进行解决,从而一步步获取最优解的处理算法。 剪切-粘贴技术证明 每个子问题的解就是它本身的最优解&#xff08;利用反证法&#xff0…

ChatGPT微信小程序系统源码/开源支持二开/AI聊天微信小程序源码/人工智能ChatGPT实现的微信小程序

源码简介&#xff1a; 关键字&#xff1a;人工智能 ChatGPT 二开ChatGPT微信小程序源码&#xff0c;作为AI聊天微信小程序源码&#xff0c;它是人工智能ChatGPT实现的微信小程序。它可以适配H5和WEB端 支持AI聊天次数限制。 ChatGPT-MP(基于ChatGPT实现的微信小程序&#xf…

node插件MongoDB(三)—— 库mongoose 的使用和数据类型(一)

前言 提示&#xff1a;使用mongoose 的前提是你安装了node和 MongoDB。 mongoose 官网文档&#xff1a;http://mongoosejs.net/docs/index.html 文章目录 前言一、安装二、基本使用1. 打开bin目录的mongod.exe文件2. 基本使用的代码&#xff08;连接mongodb 服务&#xff09;3.…

利用uni-app 开发的iOS app 发布到App Store全流程

1.0.3 20200927 更新官方对应用审核流程的状态。 注&#xff1a;最新审核后续将同步社区另一篇记录 AppStore 审核被拒原因记录及解决措施 &#xff1a;苹果开发上架常见问题 | appuploader使用教程 1.0.2 20200925 新增首次驳回拒绝邮件解决措施。 1.0.1 20200922 首次…

智能PDU在现代智慧医院机房末端配电系统中的应用分析

随着智慧医院的高速建设和发展&#xff0c;电子计算机及各类通讯设备在医院中广泛应用&#xff0c;医院信息化程度在不断提高&#xff0c;对医院内网、外网、无线网及设备网的稳定运行提出了更高的要求。信息机房作为医院所有网络数据存储交换的中心&#xff0c;它的7x24小时安…

2023 ICCAD的展会有感 | Samtec连接器无处不在

【序言】 “作为重要的电子元器件&#xff0c;连接器在如今的数字与现实世界中&#xff0c;扮演了不可或缺的角色。Samtec作为全球知名的连接器厂商&#xff0c;在芯片到板、板到板、射频、光模块等领域都有着卓越表现~ 今年&#xff0c;我们更是将这种存在感在2023 ICCAD上&a…

postman的使用

Postman的环境变量以及全局变量 设置接口的环境变量&#xff08;环境变量就是全局变量&#xff09;&#xff0c;设置接口的全局变量&#xff08;全局变量是能够在任何接口里面访问的变量&#xff09; 全局变量通过 {{变量名}} 获取 接口关联 场景&#xff1a;需要将“登录接口…

AI图像生成模型LCMs: 四个步骤就能快速生成高质量图像的新方法

在最新的AI模型和研究领域&#xff0c;一种名为Latent Consistency Models&#xff08;LCMs&#xff09;的新技术正迅速推动文本到图像人工智能的发展。与传统的Latent Diffusion Models(LDMs)相比&#xff0c;LCMs在生成详细且富有创意的图像方面同样出色&#xff0c;但仅需1-…

C语言—i++、++i、条件运算符、goto语句、注释

i和i #include <stdio.h> int main() {int i5,j;j i;printf("i%d,j%d\n", i, j);i 5;j i;printf("i%d,j%d\n", i, j);system("pause");return 0;}i6,j6 i6,j5 请按任意键继续. . .条件运算符 goto语句 #include <stdio.h> int …

【KVM】硬件虚拟化技术(详)

前言 大家好&#xff0c;我是秋意零。 经过前面章节的介绍&#xff0c;已经知道KVM虚拟化必须依赖于硬件辅助的虚拟化技术&#xff0c;本节就来介绍一下硬件虚拟化技术。 &#x1f47f; 简介 &#x1f3e0; 个人主页&#xff1a; 秋意零&#x1f525; 账号&#xff1a;全平…

思维导图软件 Xmind mac中文版软件特点

XMind mac是一款思维导图软件&#xff0c;可以帮助用户创建各种类型的思维导图和概念图。 XMind mac软件特点 - 多样化的导图类型&#xff1a;XMind提供了多种类型的导图&#xff0c;如鱼骨图、树形图、机构图等&#xff0c;可以满足不同用户的需求。 - 强大的功能和工具&#…

计算机毕业设计项目选题推荐(免费领源码)Springboot+MySQL智能购房推荐系统09040

摘 要 近年来随着我国经济的高速发展&#xff0c;房地产业也随之蓬勃发展&#xff0c;尤其是最近国家新出台的房改政策。鼓励居民购房&#xff0c;这对房产公司无疑是一个极好的发展势头。尤为重要的是&#xff0c;近几年随着信息技术和电子商务的快速发展&#xff0c;许多企业…

蓝桥杯每日一题2023.11.11

题目描述 “蓝桥杯”练习系统 (lanqiao.cn) 题目分析 对于此题首先想到的是暴力分析&#xff0c;使用前缀和&#xff0c;这样方便算出每一区间的大小&#xff0c;枚举长度和其实位置&#xff0c;循环计算出所有区间的和进行判断&#xff0c;输出答案。 非满分暴力写法&#…

尼得科电机的强大性能,将列车门和屏蔽门的开合变得从容而安全

城市脉动&#xff0c;人流涌动。 无论城市轨道交通还是远途铁路运输&#xff0c; 尼得科电机的强大性能&#xff0c;将列车门和屏蔽门的开合变得从容而安全。 尼得科的电机方案&#xff0c;有助于列车门稳准开闭&#xff0c;保障乘客安全无忧。高效驱动&#xff0c;让乘客的行程…

飞桨平台搭建PP-YOLOE模型

一、创建项目 此博客仅是运行PP-YOLOE源码&#xff0c;这里以变压器渗漏数据集为例COCO数据集太大了&#xff0c;跑不动&#xff0c;V100训练预估计得7天左右&#xff0c;即便是A100也得4天半&#xff0c;变压器渗漏油数据集跑一个小时左右&#xff0c;还可以接受&#xff0c;…

通信原理板块——线性分组码之循环码

微信公众号上线&#xff0c;搜索公众号小灰灰的FPGA,关注可获取相关源码&#xff0c;定期更新有关FPGA的项目以及开源项目源码&#xff0c;包括但不限于各类检测芯片驱动、低速接口驱动、高速接口驱动、数据信号处理、图像处理以及AXI总线等 1、循环码原理 循环码(cycle code)…