随笔分类 -  数据结构

数据结构
摘要:https://gmoj.net/senior/ main/show/100137 题解: 对于一个串$S$,怎么求$f(S)$? 把S结尾的一段连续B去掉。 我们知道最后一定是变成AAA……BBB…… 考虑将'A'看做+1,’B‘看做 1,变成了一个折线图 每次会使最低点+1,直到最低点=A的个数 阅读全文
posted @ 2020-02-25 17:04 Cold_Chair 阅读(315) 评论(0) 推荐(0)
摘要:https://loj.ac/problem/535 题解: 有点感觉这个是个经典题,我咋想不到呢。 不交换就是逆序对数。 考虑交换$h[x]$和$h[y]$。 得满足$h[x] h[y]$,不然没有意义。 那么逆序对会减少$2 \sum_{xh[z] h[y]$ 这就相当于矩形数点问题:以$(x, 阅读全文
posted @ 2020-02-25 15:42 Cold_Chair 阅读(429) 评论(0) 推荐(0)
摘要:https://codeforces.com/contest/1284/problem/F 题目大意: 有两个大小为n的树T1和T2. T2中的每条边(u, v)可以匹配T1中u到v路径上的所有边。 求最大匹配,并给出方案。 $1 define fo(i, x, y) for(int i = x, 阅读全文
posted @ 2020-01-07 16:08 Cold_Chair 阅读(541) 评论(0) 推荐(0)
摘要:Description: ​ 小 A 和小 B 在玩一个游戏,他们两个人每人有 𝑛 张牌,每张牌有一个点数,并且在接下来的 𝑛 个回合中每回合他们两人会分别打出手中的一张牌,点数严格更高的一方得一分,然而现在小 A 通过某种神秘的方法得到了小 B 的出牌顺序,现在他希望规划自己的出牌顺序使得自己 阅读全文
posted @ 2019-11-04 10:18 Cold_Chair 阅读(498) 评论(0) 推荐(0)
摘要:题目大意: 每次把一个区间升序或降序排序,最后问一个点是什么。 题解: 如果只是问一个点,这确乎是个经典题,二分一下答案然后线段树维护01排序。 从pty那里get到了可以用线段树的合并与分裂实时地维护整个序列。 考虑一次排序就把这个区间的数搞到一个线段树上,在根处标记是正的还是反的。 如果想搞到一 阅读全文
posted @ 2019-09-22 08:53 Cold_Chair 阅读(256) 评论(0) 推荐(0)
摘要:Description: 1=z怎么办? 考虑一个区间[l,r],如果a[l 1]=z,和最右的x'使f[x',y] =z,那么只用查询l∈[x,x']或者r∈[y',y]的那些区间,这样就变成了二维偏序。 Code: 阅读全文
posted @ 2019-06-30 19:36 Cold_Chair 阅读(328) 评论(2) 推荐(0)