Codeforces 1167D - Bicolored RBS】的更多相关文章

题目链接:http://codeforces.com/problemset/problem/1167/D 题意:题目定义RBS,给你一个字符串,你要对其所有字符染色,使之分解为俩个RBS,使俩个RBS深度最大值(内括号)最小化,用0和1输出染色方案. 思路:贪心,从左往右遍历,一边分一个,用 m 统计 ‘( ’ 的数量,m为 奇数分给左边,偶数分给右边,为了满足俩边左右括号数目能一致,当遇到 ‘ )’的时候应该先和最近的 ‘( ’配对 ,再调整 m. AC代码 : #include<cstdio…
建树, 然后高度最大值的最小值显然为$\lceil \frac{dep}{2}\rceil$, 将$>\frac{dep}{2}$的全部分出去即可. #include <sstream> #include <algorithm> #include <cstdio> #include <math.h> #include <set> #include <map> #include <queue> #include <…
链接:https://codeforces.com/contest/1167/problem/D 题意: A string is called bracket sequence if it does not contain any characters other than "(" and ")". A bracket sequence is called regular (shortly, RBS) if it is possible to obtain corr…
模拟两个颜色的扩号层数,贪心,如果是左括号,哪边的层数浅就放那边:如果是右括号,哪边的层数深就放那边. 至于层数的维护,两个int就做掉了 放个代码: #include <cstdio> #include <iostream> #include <string> using namespace std; inline int read(){ int x = 0; int zf = 1; char ch = ' '; while (ch != '-' &&…
Educational Codeforces Round 65 (Rated for Div. 2)题解 题目链接 A. Telephone Number 水题,代码如下: Code #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 2e5 + 5; int a[N] ; int n, T; char s[N] ; int main() { cin >> T; whil…
C News Distribution 并查集水题 D Bicolored RBS 括号匹配问题,如果给出的括号序列nesting depth为n,那么最终可以分成两个nesting depth为n / 2的序列. 在进行匹配的时候,如果当前栈中的左括号大于等于 n / 2,那么剩下的括号就要进行标记,最终标记和不标记的分成两个部分. E Range Deleting 对一个序列去掉一个区间范围内的数字,使得剩下的序列是一个非降序的序列. 这题是一道较好的思维题. 首先可以预处理出1到\(pre…
A. Telephone Number 跟之前有一道必胜策略是一样的,\(n - 10\)位之前的数存在\(8\)即可. #include <iostream> #include <cstdio> #include <cstring> using namespace std; const int N = 110; int n; char s[N]; int main(){ int T; scanf("%d", &T); while(T--){…
C. Replace To Make Regular Bracket Sequence 题目连接: http://www.codeforces.com/contest/612/problem/C Description You are given string s consists of opening and closing brackets of four kinds <>, {}, [], (). There are two types of brackets: opening and…
题目链接:http://codeforces.com/contest/612/problem/C 解题思路: 题意就是要求判断这个序列是否为RBS,每个开都要有一个和它对应的关,如:<()>满足条件,但<(>)就不满足条件,反正直接就是用栈做就行了,完美符合题目要求. #include <bits/stdc++.h> using namespace std; stack<char>st; /*struct node{ int num,id; }a[20000…
Codeforces Educational Round 92 赛后解题报告 惨 huayucaiji 惨 A. LCM Problem 赛前:A题嘛,总归简单的咯 赛后:A题这种**题居然想了20min 我说这句话,肯定是有原因的,我们看到 \(\operatorname{lcm}\) 会想到之前一些题:题目,我的题解 自然就往 \(a\times b=\operatorname{gcd}(a,b)\times \operatorname{lcm}(a,b)\) 的方向思考,但是,这太麻烦了,…