摘要: 题目大意: 给定一个括号队列,\(m\) 个操作:改变一段区间的所有括号或查询一段区间还需多少括号。 正文: 考虑用线段树维护括号串中一个区间内多余的左右括号数(用 \(left,right\) 代替)。 \(\begin{aligned}\therefore t_{x}.left & =t_{2x 阅读全文
posted @ 2020-08-09 21:37 Jayun 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 给定一个字符串,进行几个操作:将字符串中的 \(a\) 至 \(b\) 的字符复制到其 \(c\) 的位置。求出最终字符串长度为 \(k\) 的前缀。 正文: 思路: 可以定义 \(k\) 个指针指向字符串的前 \(k\) 位。但是直接暴力肯定时超,所以我们可以通过移动指针位置来确定最终 阅读全文
posted @ 2020-08-09 20:44 Jayun 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 有 \(n\) 个竹签,只能拿走没被压着的竹签,问最多能拿走多少个竹签。 正文: 由题目大意可以看出此题是拓扑排序的板子题。 代码: int main() { scanf ("%d%d", &n, &m); for (int i = 1; i <= m; i++) { int u, v; 阅读全文
posted @ 2020-08-09 19:39 Jayun 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 题目大意: 我们会给定一个 \(N\times M\) 的矩阵,你需要从这个矩阵中找出一个 \(P\times P\) 的子矩阵,使得这个子矩阵的每一列和每一行都是回文序列。 正文: 这题数据水,暴力可过:三个方确定矩阵,两个方判断是否回文。 代码: for (int len = min(n, m) 阅读全文
posted @ 2020-08-09 19:29 Jayun 阅读(93) 评论(0) 推荐(0) 编辑