摘要:
虽然是道普及的题,一眼看出二分单调队列,但是我不会写单调队列 不能再套板子了,必须要理解灵活 用一个指针j维护窗口的右端点,每次移动时把多出来那部分的扫一下塞进去,取队头前把左端点左边的弹掉 各种算法都没有完全固定的写法! 阅读全文
摘要:
一眼权值线段树因为不会写平衡树线段树还好写啊 然后死咗 才发现后来的人不会被前面操作影响 于是维护一个历史记录,每次插入的时候减去delta因为查询出来要加上delta,常用操作 然而调了一万年 阅读全文
摘要:
抄题解 把点按深度排序,用near数组记录到每个点最近的关键点的距离,每次取出一个点更新一下near数组,如果不能被覆盖就在它的k级祖先建立关键点,并更新所有k级祖先的k级祖先的near数组 阅读全文
摘要:
https://www.cnblogs.com/scx2015noip-as-php/p/loj6029.html 一开始以为裸的区间除,维护这一段是否全为0,后来发现还有加法,这样就会被卡了 这题除数达到了1e9,题解说在数很小除数很大的时候区间除会变成区间减,如一段序列由$x,x-1$组成,除一 阅读全文
摘要:
https://www.cnblogs.com/LukeStepByStep/p/7420829.html 首先要发现一个区间如果是连续区间,因为是一个排列没有重复数字,那么一定有$r-l+1==max(a[i])-min(a[i]) (l<=i<=r)$ 然后考虑分治,每次计算$l,r$在$mid 阅读全文
摘要:
由于木棒不可嵌套,所以能组成新木棒的只有可能是最中间的两个括号,即左区间最靠右的和右区间最靠左的括号,所以线段树可以维护这些信息,合并时多多判断(不要弄混,还多记了一个tg表示区间是否全部由x构成帮助更新 阅读全文
摘要:
虽然是二进制但是和普通的数位dp没什么差别,统计1出现次数的乘积不如统计每个出现次数的数量,然后对应快速幂一下,转化成了平时熟悉的方案数, 状态设计:dfs里传什么参就开哪些状态,可以包括是否达到上限(lmt)之类的 阅读全文
摘要:
题意为给定一张图和s,t两个点,问s到t的路径中最大边权/最小边权的最小值 其实就是让最大边权尽量小,最小边权尽量大 把边按边权排序,枚举最大边,依次从大到小加入比他小的边,直到s和t联通,此时最小边权最大,更新答案 未过bzoj(shabi) 阅读全文