摘要: 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 阅读(269) 评论(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 阅读(359) 评论(0) 推荐(0) 编辑
摘要: 题解: 显然对整个序列考虑不行,不如对每一个元素单独考虑。 一个元素x在x和x+1都成为分割点前显然会被一直计算答案,设$T(x)$表示x分割点出现的时间。 那么$Ans=\sum_{i=1}^n max(T(i 1),T(i))$。 众所周知,冒泡排序都是去考虑每一个元素的往左移动,而不是往右移动 阅读全文
posted @ 2020-02-25 14:23 Cold_Chair 阅读(198) 评论(0) 推荐(0) 编辑