上一页 1 2 3 4 5 6 7 ··· 13 下一页
摘要: 并非所有递归函数都适用于主定理 递归函数时间复杂度的快速判断: 主定理:主定理 Master Theorem (首先膜拜一下大佬) 利用等比数列进行证明。 结论(看主要受哪项影响): 中间的logn底数应该为b。 快速判断的小技巧:比较下一层比当前层的工作量: 比当前层少,则公比小于1,为第一种情况 阅读全文
posted @ 2020-11-30 09:37 千叶繁华 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 引言: 对于区间问题,暴力算法(一个点一个点跳)的复杂度太高,尝试优化。可以将一些点“捆绑起来”,记录一下整体的贡献/维护信息,这样跳的时候就可以一块块跳,复杂度有很大优化。 总述: 对于一个长度为n的序列,我们可以按照一个固定的长度m,顺序将序列分成n/m+(n%m>0?1:0) 组。对于每组,我 阅读全文
posted @ 2020-11-27 17:01 千叶繁华 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 简单食用的博弈论 囚徒博弈:多方同时选,在不知道(不能推断)他人选择时,选择不论对方怎么选都最有利的选择。(尽管个人利益最大化不一定能使集体利益最大化) 枪手博弈:自身威胁度会影响他人选择;选择后的后果(削弱自己等)影响他人选择;他人选择影响自己选择。 每个人都会被上述因素影响。(csp2020贪吃 阅读全文
posted @ 2020-11-26 17:01 千叶繁华 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 总述: 将平衡树的操作搬到区间上,如果没有修改操作,可以用主席树做做。如果有修改,主席树就难办了。这时可用线段树套平衡树。 平时我们用几个变量维护线段树节点信息。操作复杂时,几个变量不能完成任务,可用更强大的平衡树维护线段树节点信息(树套树的本质)。题目能用线段树做,那么题目问题定可以分解或转化成小 阅读全文
posted @ 2020-11-26 16:01 千叶繁华 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 权值线段树,即维护一个值域(自带代表意义——某个数值 的单调性)的数的出现次数的线段树,这时节点上维护的信息要多些(每个节点代表的实际值域区间(方便对询问的数进行查找)等)。 对有关数的相对大小关系的问题有很强的适用性。 重要应用(参考大佬博客): 1、查全局第k大(搞一搞也可以查一段连续的值域(即 阅读全文
posted @ 2020-11-25 15:32 千叶繁华 阅读(98) 评论(0) 推荐(0) 编辑
摘要: 前置知识:可持久化线段树、权值线段树 参考大佬博客:「黑历史」浅谈权值线段树到主席树 (想直接看主席树的话就跳到中间部分开始看) 总述: (以求区间第k小为例)值域线段树维护一个单调递增的值域的数的出现次数。主席树将原序列的下标看做时间戳,这里还应用了前缀和、前缀可减性的思想。把求原序列区间[l,r 阅读全文
posted @ 2020-11-25 11:35 千叶繁华 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 结论:对于一个维护序列长度为n的线段树,用堆结构存储的话,数组大小应开4*n,这样,在n为正整数的所有情况下内存都够用,且在最极限的情况(n=(2的整数次幂 加上一个非常小的数))下,内存刚好够用,数组下标刚好比线段树数组中会使用到的最大下标(4n-2)多1。 证明(本文对数的底数默认为2): 前置 阅读全文
posted @ 2020-11-25 11:13 千叶繁华 阅读(675) 评论(0) 推荐(0) 编辑
摘要: 可持久化,即对数据修改后仍可查询到其历史版本。 以模板题为例: P3919 【模板】可持久化线段树 1(可持久化数组) 单点修改、查询的可持久化。 暴力时空复杂度:O(nm(版本复制)+m(修改查询)),可持久化线段树 时空复杂度只为:O(m log n+n) 题解口胡: 建一个数组hed存各版本的 阅读全文
posted @ 2020-11-22 17:34 千叶繁华 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 1、打标记(最基本) 对于区间修改操作,在向下递归的过程中,给代表区间刚好在修改区间内的节点打上标记,表示他的后代要有次修改,使得区间修改的复杂度由O(N)降为O(log n)。一般在某个点得到标记时更新他的真值,从这个点向下递归时会下传标记得出他儿子的真值以保证正确性。打标记要求标记可叠加(自己整 阅读全文
posted @ 2020-11-22 11:14 千叶繁华 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 本篇为伪题解,多是一些杂话。 t1:分情况模拟。函数编程,临界点常量的计算方式(尽量用算式表达,不然用一个数的话不容易检查错误),以灵活的角度看待循环节。 t2:数据范围小于等于2^64,可用unsigned long long 位运算。但注意unsigned long long 表示范围不包括2^ 阅读全文
posted @ 2020-11-22 10:43 千叶繁华 阅读(196) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 ··· 13 下一页