A

link



这个题就是讨论。

首先,如果没有\(1\)就一定可以。

如果有\(1\)。

如果长度为\(2\)一定不行。

\(1\)的个数为奇数不行。

如果为偶数

有一个小点:如果是\(2\)个\(1\)且连在一起,不行,因为不能开相邻的。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int t;
int n;
char a[55]; void qwq(){ cin >> n; int g = 0;
for(int i = 1;i <= n;++ i){
cin >> a[i];
if(a[i] == '1') g++;
} if(g == 0) cout << "YES\n";
else{
if(n == 2) cout << "NO\n";
else{
if(g%2) cout << "NO\n";
else{
if(g == 2){
for(int i = 1;i <= n;++ i){
if(a[i] == '1'&&
a[i-1] == '1'){
cout << "NO\n";
return;
}
}
cout << "YES\n";
}
else cout << "YES\n";
}
}
} } signed main(){ cin >> t;
while(t--) qwq(); return 0; }

B

link



首先,肯定不往后换。

其次,如果它前面有比它大的数,肯定一场也赢不了。

所以,我们要换到它前面第一个比它大的位置,设为\(x\)。

还有一种可能,换到\(1\),那么到\(x\)这个位置就会停,但是如果\(1\)~\(x\)比\(x\)到下一个大于它的数长度大,就可以选\(1\)。

点击查看代码
#include<bits/stdc++.h>

using namespace std;

int t;
int n,k;
int a[100005];
int b[100005];
int qzh[100005]; int qiuzhi(int x){
swap(a[x],a[k]);
int ans = 0;
if(qzh[x-1] < a[x]){
for(int i = x+1;i <= n;++ i){
if(a[i] < a[x]) ans++;
else break;
}
if(x != 1) ans++;
}
swap(a[x],a[k]);
return ans;
} void qwq(){ cin >> n >> k;
for(int i = 1;i <= n;++ i){
cin >> a[i];
qzh[i] = max(qzh[i-1],a[i]);
b[i] = a[i];
} int w = k;
for(int i = 1;i < k;++ i)
if(a[i] > a[k]){
w = i;
break;
} int ans = qiuzhi(w);
ans = max(ans,qiuzhi(1)); cout << ans << endl; } signed main(){ cin >> t;
while(t--) qwq(); return 0; }

随机推荐

  1. Android 13 - Media框架(28)- MediaCodec(三)

    关注公众号免费阅读全文,进入音视频开发技术分享群! 上一节我们了解到 ACodec 执行完 start 流程后,会把所有的 input buffer 都提交给 MediaCodec 层,MediaCo ...

  2. AI实用技巧 | 5分钟将coze集成到微信群机器人

    细心的小伙伴已经注意到,国内的Coze平台已经开放了API,这一发现让他们感到兴奋不已.因此,他们迫切地想要掌握这一机会,将API应用到实际中,让Coze成为他们的得力助手.这样一来,他们就可以避免每 ...

  3. 安装图形化界面时候报错 Transaction check error: file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x86_64 conflicts with file from package grub2-common-1:2.02-0.65.el7.centos.2.noarch

    报错 Transaction check error:file /boot/efi/EFI/centos from install of fwupdate-efi-12-5.el7.centos.x8 ...

  4. JDBC的简单使用以及介绍

    JDBC(Java DataBase Connectivity) Java 语言连接数据库 再本模块中,java提供里一组用于连接数据库的类和接口 Java 语言开发者,本身没有提供如何具体连接数据库 ...

  5. 使用nginx 中转 https tls1.3 请求

    对方服务器使用的是TLS1.3,并关闭了一些算法套件,使得.NET FRAMEWORK 4.8 ..NET 5 都无法连接. 只能用中转方案解决. nginx配置: #user nobody; wor ...

  6. 华擎B365 BIOS 设置来电启动,来电自启,来电后开机

    开机 DEL 进入BIOS. F6 进入高级模式. 在Advanced \ Chipset Configuration ,拉到底,找到 Restore on AC/Power Loss,设置为 Pow ...

  7. 大一统的监控探针采集器 cprobe

    需求背景 监控数据采集领域,比如 Prometheus 生态有非常多的 Exporter,虽然生态繁荣,但是无法达到开箱即用的大一统体验,Exporter 体系的核心问题有: 良莠不齐:有的 Expo ...

  8. xtrabackup备份工具

    为什么要学这个工具 背景 一个合格的运维工程师或者dba工程师,如果有从事数据库方面的话,首先需要做的就是备份,如果没有备份,出现问题的话,你的业务就会出问题,你的工作甚至会... 所以备份是重要的, ...

  9. 网站_域名_DNS_端口_web访问过程

    网站基本概念 服务器:能够提供服务器的机器,取决于机器上所安装的服务软件 web服务器:提供web服务(网站访问),需要安装web服务软件,Apache,tomcat,iis等 域名 (Domain ...

  10. typora中LaTeX公式常用指令

    # typora中LaTeX公式常用指令 以下指令只能保证在typora中完美显示,但是在其他编辑器中可能会部分不支持 \cal F.X.Y = KaTeX parse error: Expected ...