摘要: 大意: 给定n元素序列a, 定义一个区间的权值为区间内所有元素和, 求前k大的长度在[L,R]范围内的区间的权值和. 固定右端点, 转为查询左端点最小的前缀和, 可以用RMQ O(1)查询. 要求的是前$k$大, 可以用堆维护可供选择的区间, 每次取出最大的即可 阅读全文
posted @ 2019-03-19 18:26 uid001 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 1, splay的一些基本操作. 使用前要插入$-INF,+INF$保证每个点的前驱后继存在. $get$函数在$x$存在时, 调用后, 根为$x$, 否则根为$x$的前驱或后继 2, splay插入区间,区间翻转等操作. 这时候splay维护的是每个下标对应的权值, 下标通过第k大来查询 使用前要 阅读全文
posted @ 2019-03-18 16:28 uid001 阅读(212) 评论(0) 推荐(0) 编辑
摘要: kmp板子如下, 失配数组不优化的话, $f_i$就表示子串[0...i]前后缀最大匹配长度 练习1: hdu5763 大意: 给定字符串T, 模板串P, 可以将T中与P匹配的子串替换为'*', 求多少种替换方案. 一个板子题, kmp求出可以替换的位置, 然后dp就好了 练习2 CF825F 大意 阅读全文
posted @ 2019-03-15 12:07 uid001 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 大意: 给定n排列, m个pair, 每个pair(u,v), 若u,v相邻, 且u在v左侧, 则可以交换u和v, 求a[n]最多向左移动多少 经过观察可以发现, 尽量先用右侧的人与a[n]交换, 这样一定最优, 然后从右往左遍历, 假设a[n]当前在$pos$, 再观察可以发现, 若$a[x]$产 阅读全文
posted @ 2019-03-14 08:47 uid001 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 大意: 给定$n$棵竹子, 每棵竹子初始$h_i$, 每天结束时长$a_i$, 共$m$天, 每天可以任选$k$棵竹子砍掉$p$, 若不足$p$则变为0, 求$m$天中竹子最大值的最小值 先二分答案转为判定最大值是否能<=$x$, 考虑如何进行判定. 直接贪心看的话很难办, 可能先砍当前较高的, 也 阅读全文
posted @ 2019-03-13 19:46 uid001 阅读(189) 评论(0) 推荐(0) 编辑