随笔分类 -  数据结构--线段树

摘要:题目链接: " 2980. 「THUSCH 2017」大魔法师" 把$A,B,C$组成矩阵$[A,B,C]$,那么每一次操作就可以用矩阵表示: $A=A+B$ $\times \begin{bmatrix}1&0&0\\1&1&0\\0&0&1\end{bmatrix}$ $B=B+C,C=C+A$ 阅读全文
posted @ 2019-09-07 20:43 LanrTabe 阅读(563) 评论(0) 推荐(1)
摘要:题目链接: "BZOJ1537" "." "Luogu3431" 首先离散化一波,然后以$x$为第一关键字,$y$为第二关键字排序。 从前往后扫,设$f[i]$表示到达$i$站的最多乘客,很容易有转移方程$f[i]=max(f[j])+p[i]$,其中$(j\le i),y[j]\le y[i]$ 阅读全文
posted @ 2019-02-28 19:28 LanrTabe 阅读(204) 评论(0) 推荐(0)
摘要:题目链接: "BZOJ1858" "Luogu2572" 为什么我的代码这么长啊。。 这一看就是个线段树裸题,难点在于第$4$个操作。 我们需要在线段树上维护$6$个值: :紧靠左的最长一段$0/1$的长度 :紧靠右的最长一段$0/1$的长度 :整段中的最长一段$0/1$的长度 最后注意修改和翻转操 阅读全文
posted @ 2019-02-15 15:01 LanrTabe 阅读(174) 评论(0) 推荐(0)
摘要:题目链接: "BZOJ3295" "Luogu3157" "UVA11990" $Wa$毒瘤数据结构为什么卡常啊。。 首先,对于刚开始的逆序对数很好求,树状数组/归并排序都行。 对于删除一个数,如果左边有$a$个数比它大,右边有$b$个比它小,那么就是减去了$(a+b)$个逆序对。 那么对于这种问题 阅读全文
posted @ 2018-12-23 20:16 LanrTabe 阅读(218) 评论(0) 推荐(0)