CF1951
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;
}
随机推荐
- docker部署php8.0 nginx1.18 mysql5.7 dnmp环境
php8.0 nginx1.18 mysql5.7 #安装docker wget -O /etc/yum.repos.d/ali_docker-ce.repo https://mirrors.aliy ...
- centos7.x开机启动流程centos6.x开机启动流程
centos6.x开机启动流程 开机加电bios自检 MBR引导将启动权交给硬盘 硬盘 0 柱面0磁道 1扇区512字节,其中 前466字节为引导 后 64字节分区表 2字节为分区结束标志 加载gru ...
- WPS相关技巧
1 标题自动编号 首先,新建一个空白word,打开.点击默认的标题样式,可以看到并不会自动编号. 接下来,就设置如何自动编号.首先选择"编号". 然后,选择"多级编号&q ...
- LeetCode 688. Knight Probability in Chessboard “马”在棋盘上的概率 (C++/Java)
题目: On an NxN chessboard, a knight starts at the r-th row and c-th column and attempts to make exact ...
- CF1777E
problem & blog 反转的边最大权值最小,想到二分. 于是二分代价即可. 反转代价小于二分的代价的边可以反转,所以再建一条反向边即可. 在 DAG 中,存在一个点可以到达所有的点的条 ...
- 三维API sheder 基础
这个shader 是靠三维数学 影响 二维像素 导致像素颜色改变 它是每个像素走一遍脚本算法 写的时候注意 语言格式 写错了 shader脚本是不能用的,根本就不好使这个 可以用区域 用xyz y为0 ...
- (六)基于Scrapy爬取网易新闻中的新闻数据
需求:爬取这国内.国际.军事.航空.无人机模块下的新闻信息 1.找到这五个板块对应的url 2.进入每个模块请求新闻信息 我们可以明显发现''加载中'',因此我们判断新闻数据是动态加载出来的. 3. ...
- LangChain让LLM带上记忆
最近两年,我们见识了"百模大战",领略到了大型语言模型(LLM)的风采,但它们也存在一个显著的缺陷:没有记忆. 在对话中,无法记住上下文的 LLM 常常会让用户感到困扰.本文探讨如 ...
- Spring扩展——BeanFactoryPostProcessor(BFPP)
引言 在Spring中BeanFactoryPostProcessor(后面使用简写BFPP),作为容器启动过程的对容器进行修改操作的Bean对象,是Spring框架对外提供的核心扩展点之一,Spri ...
- Apollo config配置中心 配置列表和map DEMO
Apollo config配置中心 配置列表和map DEMO#支持可扩展 Apollo配置 apollo中配置如下: defaultId = 100,200 chooseId = {"30 ...