随笔分类 - RMQ
摘要:传送门 发现蚂蚁不多,所以考虑两两枚举然后判断 那么首先要求出两条链的公共部分,然后根据之间在公共链的时间段和是同向还是反向进行判断 思路简单但是细节很多...... 首先求链的公共部分,设两种蚂蚁为 $a,b$,路径分别为 $As,At$,$Bs,Bt$ 那么经过一波手玩分类讨论,公共部分的两端点
阅读全文
摘要:传送门 考虑维护前缀和 $sum[i]$ 那么对于每一个位置 $i$ ,左端点为 $i$ 右端点在 $[i+L-1,i+R-1]$ 区间的区间最大值容易维护 维护三元组 $(o,l,r)$ ,表示左端点为 $o$ ,右端点 $\in [l,r]$ 的区间最大值,然后把它扔到一个堆里,每次弹出最大值计
阅读全文
摘要:传送门 考虑先随便找一个点作为根,然后再慢慢移动根,这样一步步走到最优的点 设 $sum[x]$ 表示节点 $x$ 的子树的军队数,$len(x,y)$ 表示 $x,y$ 之间边的长度 那么对于根节点 $x$ 的一个儿子 $v$,考虑把儿子搞为根时,代价的改变量 $v$ 的子树内的军队消耗减少,共减
阅读全文
摘要:传送门 NOIP2013原题 貌似官方数据都是一模一样的 以前写过竟然毫无印象? 考场上自己瞎JB推结论 显然,如果连续的两端区间可以左边区间减 k 次,右边区间也减 k 次 那么把两个区间合并起来一起减 k 次一定是更优的 所以先考虑把整个区间拿来减几次,显然最多减的次数就是整个区间的最小值 然后
阅读全文
摘要:传送门 显然是RMQ问题 用ST表就行了 用倍增的思想,像DP一样转移 设 mx[ i ] [ j ] 表示从点 i 开始,后面一共 2^j 个点的最大值 显然 mx[ i ] [ 0 ] = a [ i ](a是原数列) 那么 mx [ i ] [ j ] = max( mx[ i ] [ j-1
阅读全文