题意 给定一个只包括 的字符串,判断字符串是否能够成合法的括号序列。 思路 直接用栈模拟,时间复杂度$O(n)$,~~但一共就这三种类型,我可以直接三个变量标记就可以了,这样空间复杂度$O(1)$。~~我看错了,原来括号不可以这样嵌套: ,所以只好用栈了(实际上用数组模拟了栈)。 代码 总结 我爱水 ...
分类:
其他好文 时间:
2020-02-19 20:55:44
阅读次数:
61
codeforces 1272 F. Two Bracket Sequences(三维dp + bfs) 题目大意 输入两个括号序列 s,t(不一定合法),你需要构造一个尽可能短的合法括号序列使得s,t 都是这个序列的子序列(子序列意味着不用连续) 解题思路 表示匹配到 的第 个字符,匹配到 的第 ...
分类:
其他好文 时间:
2020-02-12 21:57:14
阅读次数:
63
Description: 给定括号树,每个节点都是 或 ,定义节点的权值为根到该节点的简单路径所构成的括号序列中不同合法子串的个数(子串需要连续,子串所在的位置不同即为不同。)与节点编号的乘积,求所有节点权值的异或和。 Solution: 闻到一股深深的 气息。 "懒得写了" Code: ...
分类:
其他好文 时间:
2020-02-06 10:30:26
阅读次数:
77
/* 给两个括号序列,用一个合法的括号串来覆盖这两个串,求出这个最短串 这个问题可以分解成两个条件: 1.用一个最短的括号序列来覆盖这两个串 2.这个序列要合法 首先考虑第一个条件: 不难想到用两个状态dp[i,j]来表示匹配s[1..i],t[1..j]时的最短长度 转移也很简单:初始状态dp[0 ...
分类:
其他好文 时间:
2019-12-29 00:55:21
阅读次数:
125
"题目" 插头dp,由于我们不需要判断曼哈段回路是否提前闭合,所以并不要括号序列,直接二进制状压一条轮廓线即可, $1$表示这个位置有插头,$0$表示没有 在考虑到$(i,j)$我们考虑一下$(i,j 1)$是否有向右的插头,$(i 1,j)$是否有向下的插头 之后转移可以大力讨论一波 右没有下没有 ...
分类:
其他好文 时间:
2019-12-27 13:32:29
阅读次数:
53
题目链接:http://codeforces.com/contest/1272/problem/F 题意:给两个括号序列 s1,s2,要求构造一个最短的规范的括号序列 ans,且满足 s1,s2为 ans 的子序列。 设有三维dp[i][j][k],表示s1串取到i,第二个字符串取到j,k=左括号数 ...
分类:
其他好文 时间:
2019-12-20 20:43:38
阅读次数:
66
"传送门" 题意: 给出$s,t$两个合法括号序列,现在找到一个长度最小的合法的序列$p$,使得$s,t$都为其子序列。 思路: 考虑$dp:dp[i][j][d]$表示第一个串在$i$,第二个串在$j$,答案串左括号和右括号之差为$d$时的最短长度。 那么转移时枚举下一位转移即可。 还需要考虑一点 ...
分类:
其他好文 时间:
2019-12-15 12:45:21
阅读次数:
143
http://codeforces.com/contest/1263/problem/E 题意:求合法的括号序列 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define lson root<<1,l,mid ...
分类:
其他好文 时间:
2019-12-14 12:02:21
阅读次数:
66
题目传送门(内部题82) 输入格式 一行一个字符串$ss$,保证$ss$中只包含$'('$和$')'$。 输出格式 一行一个整数,表示满足要求的子序列数对$10^9+7$的结果。 样例 样例输入1: )(()() 样例输出1: 6 样例输入2: ()()() 样例输出2: 7 样例输入3: ))) ...
分类:
其他好文 时间:
2019-10-24 10:21:06
阅读次数:
97
啊因为最近题实在是好啊,只能四五篇四五篇写了。 T1. 括号序列的确简单。 当我们维护左右$cnt$后。 到一个左括号的地方的话。 答案就是:$$\sum\limits_{i=1}^{min(lc,rc)}\binom{lc-1}{i-1}\binom{rc}{i}$$ 因为要固定一个来去重。 等价 ...
分类:
其他好文 时间:
2019-10-24 10:01:03
阅读次数:
83