摘要: 首先考虑一个集合的最大优美值怎么求出 考虑新增一个数,假设我们现在的优美值已经达到了$V$,那么只需要一个$[1, V + 1]$的数就可以使$V$达到更大 为了保证能添加尽可能多的数进来,我们这么构造: 对集合$S$排序,从小到大选择,直到选到$\sum\limits_{i = 1}^{j}v[j 阅读全文
posted @ 2018-08-30 19:17 remoon 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 观察样例,$ans(1) = 1, ans(2) = 10$,再手推一组,$ans(3) = 26$ 可以发现规律$ans(n) = (2n - 1)^2 + 1$ 如果还是没看出规律,那么打个程序去骗组数据 更明显了,是吧..... 证明很简单,懒得证了 阅读全文
posted @ 2018-08-30 15:52 remoon 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 机房某大佬告诉我,一条链在全局线段树中的区间最多有$log$段 因此同样的,代表不在这条链上的区间同样只有$log$段 对这$log$段区间进行维护即可 为了能够删除,在线段树的每个节点暴力维护一个堆 每次加入一条链时,在这$log$段区间上暴力加入元素 每次删除一条链时,暴力删除元素 询问时,对所 阅读全文
posted @ 2018-08-30 14:03 remoon 阅读(162) 评论(0) 推荐(0) 编辑
摘要: 问题等价于选出$n / 3$个不相邻元素是权值和最大 这是一个经典贪心问题,同种树,拿堆维护即可,复杂度$O(n \log n)$ 阅读全文
posted @ 2018-08-30 07:59 remoon 阅读(223) 评论(0) 推荐(0) 编辑
摘要: 枚举每个点作为次大值,用单调栈处理出左边 / 右边第一个比它大的数,直接回答 复杂度$O(n)$ 阅读全文
posted @ 2018-08-30 07:36 remoon 阅读(173) 评论(0) 推荐(0) 编辑