这一场打的又很差(掉分预定),D题想不出来。

A. Déjà Vu

这题首先判断字符串是否全由 a 组成,如果是的话输出 NO

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int _;
for (cin >> _; _--;) {
string s;
cin >> s;
int N = s.length();
// find_first_not_of
auto i = s.find_first_not_of('a');
if (i == string::npos) {
cout << "NO\n";
continue;
}
int j = (i < N / 2 ? N - i : N - i - 1);
cout << "YES\n";
cout << s.substr(0, j) << 'a' << s.substr(j) << "\n";
}
return 0;
}

B. Flip the Bits

题意:给你一个 01 初始序列和目标序列,每次可以选择前 \(2\times x\) 个位置异或1(前提是选择区域的0和1个数相等),问你有没有办法变成目标序列。

思路:待补

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int _;
for (cin >> _; _--;) {
int n;
string a, b;
cin >> n >> a >> b;
int sa = 0, sb = 0;
bool f = true;
for (int i = 0; i < n; ++i) {
sa += 2 * (a[i] - '0') - 1;
sb += 2 * (b[i] - '0') - 1;
// cout << sa << " " << sb << "\n";
f = f && abs(sa) == abs(sb);
}
// cout << sa << " " << sb << "\n";
f = f && sa == sb;
cout << (f ? "YES\n" : "NO\n");
}
return 0;
}

C. Balance the Bits

题意:给你一个01序列,问你能不能构造两个合法的括号序列a,b,使得当 \(s[i] = 1\) 时,\(a[i] = b[i]\) ,当 \(s[i] = 0\) 时,\(a[i] != b[i]\)

思路:首先,两个字符串序列必须以( 开头,) 结尾,其实,由于 ()的个数和 \(n\) 为偶数所以 \(s\) 序列中 1 的个数也必为偶数。

接下来就是模拟条件了

AC 代码

int main() {
ios_base::sync_with_stdio(false), cin.tie(0);
int _;
for (cin >> _; _--;) {
int n, t = 0;
string s;
cin >> n >> s;
int cnt = count(s.begin(), s.end(), '1');
if (s[0] != '1' || s[n - 1] != '1' || cnt & 1) {
cout << "NO\n";
continue;
}
cnt /= 2;
string a(n, '*'), b(n, '*');
for (int i = 0; i < n; ++i) {
if (s[i] == '0') {
if (t == 0) a[i] = ')', b[i] = '(';
else
a[i] = '(', b[i] = ')';
t ^= 1;
} else {
if (cnt) {
a[i] = b[i] = '(';
cnt--;
} else
a[i] = b[i] = ')';
}
}
cout << "YES\n";
cout << a << "\n"
<< b << '\n';
}
return 0;
}

Codeforces Round #712 (Div. 2) 个人题解的更多相关文章

  1. # Codeforces Round #529(Div.3)个人题解

    Codeforces Round #529(Div.3)个人题解 前言: 闲来无事补了前天的cf,想着最近刷题有点点怠惰,就直接一场cf一场cf的刷算了,以后的题解也都会以每场的形式写出来 A. Re ...

  2. Codeforces Round #557 (Div. 1) 简要题解

    Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\ ...

  3. Codeforces Round #540 (Div. 3) 部分题解

    Codeforces Round #540 (Div. 3) 题目链接:https://codeforces.com/contest/1118 题目太多啦,解释题意都花很多时间...还有事情要做,就选 ...

  4. Codeforces Round #538 (Div. 2) (A-E题解)

    Codeforces Round #538 (Div. 2) 题目链接:https://codeforces.com/contest/1114 A. Got Any Grapes? 题意: 有三个人, ...

  5. Codeforces Round #531 (Div. 3) ABCDEF题解

    Codeforces Round #531 (Div. 3) 题目总链接:https://codeforces.com/contest/1102 A. Integer Sequence Dividin ...

  6. Codeforces Round #527 (Div. 3) ABCDEF题解

    Codeforces Round #527 (Div. 3) 题解 题目总链接:https://codeforces.com/contest/1092 A. Uniform String 题意: 输入 ...

  7. Codeforces Round #499 (Div. 1)部分题解(B,C,D)

    Codeforces Round #499 (Div. 1) 这场本来想和同学一起打\(\rm virtual\ contest\)的,结果有事耽搁了,之后又陆陆续续写了些,就综合起来发一篇题解. B ...

  8. Codeforces Round #545 (Div. 1) 简要题解

    这里没有翻译 Codeforces Round #545 (Div. 1) T1 对于每行每列分别离散化,求出大于这个位置的数字的个数即可. # include <bits/stdc++.h&g ...

  9. Codeforces Round #624 (Div. 3)(题解)

    Codeforces Round #624 (Div.3) 题目地址:https://codeforces.ml/contest/1311 B题:WeirdSort 题意:给出含有n个元素的数组a,和 ...

  10. Codeforces Round #821(Div.2) (A-C) 题解

    Codeforces Round #821(Div.2) (A-C) A.Consecutive Sum 大致题意 给定一组共 n 个数据 ,如果俩个数的下标在 mod k 意义下同余,则可以交换a[ ...

随机推荐

  1. 【scipy 基础】--统计分布

    scipy.stats子模块包含大量的概率分布.汇总和频率统计.相关函数和统计测试.掩蔽统计.核密度估计.准蒙特卡罗功能等等. 这个子模块可以帮助我们描述和分析数据,进行假设检验和拟合统计模型等. 1 ...

  2. Vue07-Axios

    Axios axios是一个网络请求相关的库. axios: ajax i/o system 使用axios编写的网络请求代码,可以运行在浏览器端,也可以在Node环境中运行. 01. 支持的请求方式 ...

  3. Linux MIPI 调试中常见的问题

    一.概述 做嵌入式工作的小伙伴知道,有时候程序编写没有调试过程中费时,之间笔记里有 MIPI 摄像头驱动开发的过程,有需要的小伙伴可以参考:Linux RN6752 驱动编写. 而我也是第一次琢磨 M ...

  4. 一文带你掌握C语言的分支结构

    C语言分支结构详解 1. if 语句 在本篇博客文章中,我们将深入探讨C语言中的if语句及其相关用法.if语句是一种用于条件判断的分支语句,它允许我们根据条件的真假来执行不同的代码块. 1.1 if ...

  5. oracle、达梦数据库、MySQL数据创建表与字段注释

    /**1.oracle注释*//*表本身注释*/comment on table 表名 is '注释信息';/*字段注释*/comment on column 表名.字段名 is '注释信息';/*实 ...

  6. C++ Qt开发:Tab与Tree组件实现分页菜单

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍tabWidg ...

  7. 华企盾DSC申请解密在键盘中勾选会自动取消

    解决方法:打开系统偏好设置-键盘--服务,由于服务中超出了系统支持的最大菜单数,删除两个即可

  8. 华企盾DSC导致Solidworks无法导出xls文件

    将Solidworks进程和Excel进程的OLE控制和启用虚拟重定向都关闭

  9. 为什么要重写equals()?

    为什么要重写equals()? Equals和 == 的区别: ==:是个运算符, 判断是否相等,基本数据类型进行判断 也可判断两个对象相等,比较两个对象的哈希码值 Equals:是个Object类的 ...

  10. CVE-2023-36025 Windows SmartScreen 安全功能绕过漏洞

    CVE-2023-36025是微软于11月补丁日发布的安全更新中修复Windows SmartScreen安全功能绕过漏洞.攻击者可以通过诱导用户单击特制的URL来利用该漏洞,对目标系统进行攻击.成功 ...