06 2019 档案

摘要:题目链接 三种操作:区间加,区间开根号,区间求和。 修改的时候判断区间内的最大值和最小值是否相等或者差1,如果相等则变为区间赋值,否则再判断开根号之后的最大值和最小值是否相等,如果相等则区间赋值,否则区间加法。 这题的数据也忒恶心了点吧?本来直接判断相等就能解决的问题,非要加上一个玄学的优化才能过掉 阅读全文
posted @ 2019-06-28 14:30 jrltx 阅读(285) 评论(0) 推荐(0)
摘要:题意:有n个怪物和k种属性,当且仅当你的每种属性都大于等于怪物的属性才可以击杀它,且击杀怪物可以提升你一定的属性值。求可击杀怪物的最大数量以最终的属性值。 这不就是银行家算法里的安全性检验么? 本题的时限比较严,需要用fread来加速读入 第一种做法是对每种属性建一个优先队列,每个优先队列里存放怪物 阅读全文
posted @ 2019-06-28 08:20 jrltx 阅读(180) 评论(0) 推荐(0)
摘要:题目链接 感谢Dream_Lolita的题解,经过无数次失败的尝试之后终于AC了... 线段树是维护区间信息的强大工具,但它的形态是固定的,只支持修改和删除操作,不支持插入、反转、复制、分裂合并等操作,而treap支持。这道题有个区间复制的操作,因此只能用treap来代替了。 注意几个坑点: 1.对 阅读全文
posted @ 2019-06-27 16:15 jrltx 阅读(746) 评论(0) 推荐(1)
摘要:题目链接 文艺平衡树的可持久化版,可以使用treap实现。 作为序列使用的treap相对splay的优点如下: 1.代码短 2.容易实现可持久化 3.边界处理方便(splay常常需要在左右两端加上保护结点以防越界,而treap一般不用) 可以分裂合并的treap一般称作无旋treap或FHQ-tre 阅读全文
posted @ 2019-06-27 15:44 jrltx 阅读(223) 评论(0) 推荐(0)
摘要:同样是可以用LCT解决的树剖问题之一。 注意反转的时候要考虑对左右端点颜色的影响,而且要先反转再打标记(这点不知道为啥) 阅读全文
posted @ 2019-06-24 16:26 jrltx 阅读(273) 评论(0) 推荐(0)
摘要:LCT试炼题(代码量居然完爆树剖?) 阅读全文
posted @ 2019-06-22 15:33 jrltx 阅读(199) 评论(0) 推荐(0)