当前位置: 首页 > news >正文

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;
}

相关文章:

Codeforces Round 908 (Div. 2)题解

目录 A. Secret Sport 题目分析: B. Two Out of Three 题目分析: C. Anonymous Informant 题目分析: A. Secret Sport 题目分析: A,B一共打n场比赛&#xff0c;输入一个字符串由A和‘B’组成代表A赢或者B赢&#xff08;无平局&#xff09;&#xff0c;因为题目说明这个人…...

Redis笔记 Redis主从同步

文章目录 Redis主从搭建主从架构主从数据同步原理全量同步增量同步repl_backlog原理 主从同步优化小结 Redis主从 搭建主从架构 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离。 主从数据…...

数据结构-Prim算法构造无向图的最小生成树

引子&#xff1a; 无向图如果是一个网&#xff0c;那么它的所有的生成树中必有一颗生成树的边的权值之和是最小的&#xff0c;我们称 这颗权值和最小的树为&#xff1a;“最小生成树”&#xff08;MST&#xff09;。 其中&#xff0c;一棵树的代价就是树中所有权值之和。 而…...

MFC串口通信(SerialPort)

目录 1、SerialPort类的介绍和使用&#xff1a; &#xff08;1&#xff09;、SerialPort类的功能介绍 &#xff08;2&#xff09;、SerialPort类提供接口函数的介绍 1&#xff09;、InitPort函数 2&#xff09;、控制串口监视线程函数 3&#xff09;、获取事件&#xff0c…...

Vim基本使用操作

前言&#xff1a;作者也是初学Linux&#xff0c;可能总结的还不是很到位 Linux修炼功法&#xff1a;初阶功法 ♈️今日夜电波&#xff1a;美人鱼—林俊杰 0:21━━━━━━️&#x1f49f;──────── 4:14 …...

【深蓝学院】手写VIO第8章--相机与IMU时间戳同步--作业

0. 题目 1. T1 逆深度参数化时的特征匀速模型的重投影误差 参考常鑫助教的答案&#xff1a;思路是将i时刻的观测投到world系&#xff0c;再用j时刻pose和外参投到j时刻camera坐标系下&#xff0c;归一化得到预测的二维坐标&#xff08;这里忽略了camera的内参&#xff0c;逆深…...

Naocs配置中心配置映射List、Map、Map嵌套List等方式

一、配置映射List 1、常规逐个配置方式,示例如下: 代码: @Data @Configuration @ConfigurationProperties(prefix = "list-json-str") public class ConfListByJsonStr implements Serializable, InitializingBean {@ApiModelProperty("映射结果集")…...

如何通过CRM系统进行销售机会管理?

销售机会管理是在销售过程中对潜在客户的精细化管理&#xff0c;销售机会管理的本质是公司用于管理销售机会通用的工具和方法。对于希望建立长期客户关系的现代销售团队来说&#xff0c;CRM客户管理系统是必不可少的工具。那企业如何通过CRM系统进行销售机会管理&#xff1f; …...

解决idea启动tomcat控制台中文乱码

#1.tomcat日志中文乱码# 如图这种情况&#xff0c;一般在idea用tomcat跑一个web项目启动后tomcat日志在控制台打印出来会出现中文乱码的情况 解决方案1&#xff1a;tomcat的日志配置文件的编码修改&#xff0c;找到tomcat安装目录conf下的logging.properties&#xff0c;encod…...

vscode + cmake + opencv example

nice try on macos CMakeLists.txt cmake_minimum_required(VERSION 3.20) #添加OPENCV库 #指定OpenCV版本&#xff0c;代码如下 #find_package(OpenCV 3.3 REQUIRED) #如果不需要指定OpenCV版本&#xff0c;代码如下 find_package(OpenCV REQUIRED)#添加OpenCV头文件 includ…...

day57【动态规划】647.回文子串 516.最长回文子序列

文章目录 647. 回文子串516.最长回文子序列 647. 回文子串 力扣题目链接 代码随想录讲解 题意&#xff1a;给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的…...

分享vmware和Oracle VM VirtualBox虚拟机的区别,简述哪一个更适合我?

VMware和Oracle VM VirtualBox虚拟机的区别主要体现在以下几个方面&#xff1a; 首先两种软件的安装使用教程如下&#xff1a; 1&#xff1a;VMware ESXI 安装使用教程 2&#xff1a;Oracle VM VirtualBox安装使用教程 商业模式&#xff1a;VMware是一家商业公司&#xff0c;而…...

YOLOV5模型运行

1安装包 如果已经有了torch-cuda环境直接在环境下 pip install -r requirements.txt 2解决报错代码 raise ImportError("Failed to initialize: {0}".format(exc)) from exc ImportError: Failed to initialize: Bad git executable. The git executable must be …...

@Autowired和@Resource注解的区别和联系

直接看原文 原文链接: 【精选】Autowired和Resource注解的区别和联系【精选】 ------------------------------------------------------------------------------------------------------------------------------- 先说联系 联系 Autowired和Resource注解都是作为bean…...

设计模式类型

创建型模式 创建型模式(Creational Pattern)对类的实例化过程进行了抽象&#xff0c;能够将软件模块中对象的创建和对象的使用分离。为了使软件的结构更加清晰&#xff0c;外界对于这些对象只需要知道它们共同的接口&#xff0c;而不清楚其具体的实现细节&#xff0c;使整个系…...

Android修行手册-实现利用POI将图片插入到Excel中(文末送书)

点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分享&…...

低功耗工业RFID设备应用

随着工业自动化的迅速发展&#xff0c;RFID技术也在工业领域得到了广泛的应用&#xff0c;在近距离非接触读写应用时&#xff0c;常常利用低功耗的工业RFID设备来进行识别&#xff0c;下面我们将详细介绍低功耗工业RFID设备的应用。 低功耗工业RFID设备具有功耗低、体积小、重量…...

# Oracle 库常见问题排查

Oracle 库常见问题排查 文章目录 Oracle 库常见问题排查查询数据库的相关信息查看正在执行的语句杀掉正在执行的sql查看未提交的事务查看锁表 查询数据库的相关信息 查看正在执行的语句 SELECT s.sid, s.serial#, s.username, s.status, s.sql_id, s.sql_child_number, sq.sq…...

矩阵乘积的迹对矩阵求导

说明 有时候为了输入方便&#xff0c;B和都代表B的转置。 矩阵的在线计算有个网站可以参考&#xff1a;Matrix Calculus dtr(AB)/dAB 下面用一个例子来证明。 dtr(ABA)/dAABAB 下面用一个例子来证明&#xff1a; 因为我们要求ABA的迹&#xff0c;所以为了简便&#xff0c;我们…...

IP 地址冲突检测工具

IP 冲突是一个术语&#xff0c;用于表示同一网络或子网中尝试使用相同 IP 地址的两个或多个设备的状态&#xff0c;这可能会导致发往特定主机的通信与其他主机混淆&#xff0c;因为两者都使用相同的 IP&#xff0c;为了避免这种情况&#xff0c;某些主机在发生 IP 冲突时会失去…...

Python的__init_subclass__协作定制

Python的__init_subclass__协作定制&#xff1a;解锁类继承的灵活控制 在Python的面向对象编程中&#xff0c;类的继承机制是构建复杂系统的核心。而__init_subclass__这一特殊方法&#xff0c;自Python 3.6引入以来&#xff0c;为开发者提供了更精细的类定制能力。它允许父类…...

【仅限信创首批试点单位内部流通】:Java中间件国产化适配checklist V3.2(含国密算法注入、SM4加解密模板代码)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Java中间件国产化适配的战略背景与政策合规要点 近年来&#xff0c;国家对关键信息基础设施自主可控提出明确要求&#xff0c;《网络安全审查办法》《关键信息基础设施安全保护条例》及信创产业“28N”…...

axilite + ap_memory约束数组-突破单口RAM限制

一、在不进行任何说明情况下axilite ap_memory约束数组 1.在这种情况下&#xff0c;会将接口数组综合为内部RAM&#xff0c;不再是单纯的接口了&#xff0c;而是实实在在的要消耗资源的 2.只不过这个RAM对外&#xff0c;这里的对外指的是CPU或者ARM&#xff0c;对外的接口是ax…...

从LTE到5G NR:PDCCH信道设计做了哪些‘减法’与‘加法’?

从LTE到5G NR&#xff1a;PDCCH信道设计的"减法"与"加法"演进解析 在移动通信技术从4G LTE向5G NR的演进过程中&#xff0c;控制信道的设计理念发生了显著变化。作为无线资源调度的核心枢纽&#xff0c;PDCCH&#xff08;物理下行控制信道&#xff09;的架…...

面试场景:互联网大厂Java求职者挑战与学习

面试场景&#xff1a;互联网大厂Java求职者挑战与学习 场景设定&#xff1a; 谢飞机是一位程序员&#xff0c;正在挑战一家互联网大厂的Java岗位面试。面试官严肃认真&#xff0c;谢飞机有点紧张不自信。他对简单的问题能够侃侃而谈&#xff0c;但面对复杂问题却有些词不达意。…...

从零开始学习AI漫剧,好课优选告诉您思路要转变

想从零开始学习AI漫剧&#xff0c;最关键的好课优选告诉你&#xff1a;不要试图先学完所有理论再动手&#xff0c;而是应该先动手做出一个“粗糙”的作品&#xff0c;在实践中遇到问题&#xff0c;再针对性地学习。 这里为你规划了一条清晰的学习路径&#xff0c;分为四个阶段&…...

你的U-Boot命令用对了吗?盘点那些容易混淆的‘孪生’命令与隐藏参数(以mmc/fat操作为例)

U-Boot命令深度解析&#xff1a;避开存储操作中的那些"雷区" 在嵌入式开发中&#xff0c;U-Boot作为系统启动的"第一道关卡"&#xff0c;其命令操作的精确性直接关系到设备能否正常启动。许多开发者在使用mmc和fat系列命令时&#xff0c;常常因为对底层原理…...

告别混乱!Qt项目多子模块(.pro/.pri)管理与依赖配置保姆级教程

告别混乱&#xff01;Qt项目多子模块(.pro/.pri)管理与依赖配置保姆级教程 在开发中大型Qt应用时&#xff0c;随着功能模块不断增加&#xff0c;项目结构往往会变得臃肿不堪。头文件路径混乱、库依赖关系不明确、构建顺序失控等问题&#xff0c;不仅影响开发效率&#xff0c;更…...

避坑指南:UG NX二次开发中MoveObjectBuilder的5个常见错误与调试技巧

UG NX二次开发实战&#xff1a;MoveObjectBuilder避坑指南与高阶调试技巧 在UG NX的二次开发领域&#xff0c;MoveObjectBuilder堪称几何变换的瑞士军刀——功能强大却暗藏玄机。许多中高级开发者在实现对象移动、旋转等操作时&#xff0c;往往会被其复杂的参数体系和隐蔽的坐标…...

保姆级教程:用NASA开源的GMAT软件,手把手完成你的第一个卫星轨道仿真

从零开始玩转卫星轨道仿真&#xff1a;NASA GMAT实战指南 第一次打开GMAT软件时&#xff0c;那种面对专业界面的茫然感我至今记忆犹新——满屏的术语、复杂的参数、不知从何下手的操作流程。但当我亲手完成第一个卫星轨道仿真&#xff0c;看着那颗虚拟卫星按照物理定律在屏幕上…...