摘要: 裸裸的题目 但是按之前的搞法 重叠的边(cnt >= 2)在线段树里面有没有更新到子树 所以在线段树更新里面重了两个update 时间复杂度退化了 时间有点慢 太菜了。。。 1 #include <bits/stdc++.h> 2 #include <string.h> 3 #include <io 阅读全文
posted @ 2018-03-29 16:03 Lorazepam 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 扫面线从下往上扫 将横坐标离散化 用线段树来进行区间更新 维护两个值cnt 和对应的有效的边(cnt>0)的长度 当有一个矩阵的下底边扫过的时候 对应的区间cnt+1 否则 对应的区间cnt-1 每次计算cnt > 0的区间长度 不会存在cnt < 0 的区间 因为上边扫描过之前必先扫描下底边 需要 阅读全文
posted @ 2018-03-29 15:57 Lorazepam 阅读(184) 评论(0) 推荐(0) 编辑
摘要: dp[l][r]记录中序序列为l, l+1..r的最大加分值 root[l][r]记录这个序列的根节点 转移 i 为根节点 dp[l][r] = max(dp[l][i-1]*dp[l+1][r]+a[i], dp[l][r]) 顺势更新root[l][r] 1 #include <bits/std 阅读全文
posted @ 2018-03-29 15:43 Lorazepam 阅读(125) 评论(0) 推荐(0) 编辑