题目链接 https://codeforces.ml/contest/1504/problem/C 题目截图 题目大致描述 给定一个01串,判断是否能构造出两个平衡的括号序列ans1和ans2,若能给定其中一种解,构造需满足以下规则: 对于01串中元素为0的位置i,ans1[i] != ans2[i ...
分类:
其他好文 时间:
2021-04-06 14:45:19
阅读次数:
0
题意: 给你一个括号序列,求其中最长的合法括号序列的长度。 思路: 这个题的核心思路,其实是合法括号序列的定义。 合法括号的定义如下: "()" 是一个合法括号序列; 如果 "|" 表示一个合法序列,那么 "(|)" 也是一个合法序列; 如果 "|" 表示一个合法序列,那么 "||" 也是一个合法序 ...
分类:
其他好文 时间:
2020-09-03 16:29:50
阅读次数:
24
Description如果一个括号序列插入"+"和"1"后,可以得到一个正确的数学表达式,那么它被称为"合法"的。例如,序列"(())()","()"和"(()(()))"是合法的,但")(","(()"和"(()))("不是合法的。 给出一个由"("和")"字符组成的字符串。你要找出它最长的是合法 ...
分类:
其他好文 时间:
2020-08-07 18:04:40
阅读次数:
72
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6799 题目大意: 给你一个由左右括号和乘法符号组成的字符串 ()* ,可以将*变成左括号或、右括号、空字符,求能生成的最短的合法括号序列 中字典序最小的。(左括号字典序小于右括号) 合法括号序列举例: ...
分类:
其他好文 时间:
2020-07-29 15:34:20
阅读次数:
88
题目描述 艾斯洛克希望你送给她一个长度为$N$的合法括号序列,保证$N$是偶数。你在序列的第$i$位放左括号的代价为$A_i$ ,放右括号的代价为$B_i$。艾斯洛克不想让你太麻烦,所以希望你支付最小的代价。不过才不是担心你呢!真的不是哦!虽然众所周知,但艾斯洛克还是给了你合法括号序列的定义,以防你 ...
分类:
其他好文 时间:
2020-07-19 13:53:23
阅读次数:
81
题目描述 有一个长度为 \(n\) 的括号序列,以及 \(k\) 种不同的括号. 序列的每个位置上是哪种括号是随机的, 并且已知每个位置上出现每种左右括号的概率.求整个序列是一个合法的括号序列的概率. 我们如下定义合法括号序列: 空序列是合法括号序列; 如果 \(A\) 是合法括号序列,那么 \(l ...
分类:
其他好文 时间:
2020-07-10 10:06:53
阅读次数:
47
括号序列问题,往往就是把左括号看成+1,右括号看成-1,我们只需要保证任意一个前缀大于等于0,且总和为0,就代表是个合法括号序列了。 令$f[i][j]$表示当前到第$i$个字符,现在的前缀和$j$。那么分三种情况考虑。 若第$i+1$个字符是左括号,则能转移到$f[i+1][j+1]$。 若第$i ...
分类:
其他好文 时间:
2020-07-08 15:40:20
阅读次数:
45
显然可以直接凑左面全是左括号,右面全是右括号的情况. 然后区间翻转就用 splay 模拟好了. splay 的时候一定注意一点: 如果没有调用 find(x),就一定要手动把 x 及其祖先的节点 pushdown. code; #include <bits/stdc++.h> #define N 1 ...
分类:
其他好文 时间:
2020-06-18 10:54:30
阅读次数:
56
分析 ~~看到括号匹配,先开个栈~~ 这题感觉还是不错的 首先需要知道代价最小的前提是括号序列 合法 ,所以不能单纯的贪心代价小的放法。 对于一个合法的序列来说,左右括号的数量一定相等,并且在当前位置,左括号的数量一定不小于右括号的数量,于是可以开一个栈来存左括号,遇到右括号就弹栈,栈空则不合法。 ...
分类:
其他好文 时间:
2020-05-17 19:07:46
阅读次数:
59
一套有趣的题目 1. 1,2,3…n 以此进栈,求有多少种可能的出栈序列。 2. 由n对括号形成的合法的括号序列有多少个。 1. N(n,n)这条直线的路径方案数 eg2:设f[i]表示i对括号的方案数,那么有:$f[n]=\sum\limits_{i=0}^{n 1}f[i] f[n i 1]$ ...
分类:
其他好文 时间:
2020-05-09 21:25:20
阅读次数:
63