随笔分类 -  OJ--SPOJ

摘要:标记永久化是线段树的一个技巧,常用于无法(或难以)进行$pushdown$的较复杂的数据结构如主席树,树套树等。 如何做?对每个节点维护$sum$和$add$。 考虑修改,当询问与当前区间重合时,更新$add+=val$,对所有经过的区间$sum+=val\cdot (r l+1)$。 考虑询问,累 阅读全文
posted @ 2019-04-29 21:18 OIerC 阅读(502) 评论(0) 推荐(0)
摘要:搜索是$OI$中一个十分基础也十分重要的部分,近年来搜索题目越来越少,逐渐淡出人们的视野。但一些对搜索的优化,例如$A$ ,迭代加深依旧会不时出现。本文讨论另一种搜索——折半搜索$(meet\ in\ the\ middle)$。 由一道例题引入: "CEOI2015 Day2 世界冰球锦标赛" 我 阅读全文
posted @ 2019-04-22 19:14 OIerC 阅读(610) 评论(0) 推荐(0)
摘要:单调栈,顾名思义,就是一个元素递增(或递减)的栈。 一个单调递增的单调栈可以在$O(n)$的复杂度内求得序列内一个元素向左或向右第一个小于等于该元素的元素位置。 比如该序列为$1,5,2,6,4,3$ $1$进栈,栈内无元素,$L_1=0$ $(1)$ $5​$进栈,无出栈,$L_2=1​$(栈顶元 阅读全文
posted @ 2019-04-19 20:47 OIerC 阅读(917) 评论(0) 推荐(0)
摘要:前置技能 1、二分答案 2、基础数据结构,如树状数组,线段树。 首先,二分答案求最大值的最小值大概长成下面这个样子: int solve(int l, int r) { while (l<r) { int mid=l+r>>1; if (check(mid)) l=mid+1; else r=mid 阅读全文
posted @ 2019-04-09 23:33 OIerC 阅读(180) 评论(0) 推荐(0)