上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 79 下一页
摘要: [Code+#3]寻找车位 挺厉害的线段树题 m<=n,所以n<=2000,并且只有1000次修改询问,mqlogn的复杂度可以接受! 求全局? 对行(n)建一个线段树。 线段树中维护的东西,一定可以包含所有“完全包含在”这个横条中的最大正方形。 只在mid左、右的可以递归下去再取max,跨越中间的 阅读全文
posted @ 2019-02-14 08:57 *Miracle* 阅读(301) 评论(0) 推荐(0)
摘要: 前言&&思想 一些给定树上一些点集,要处理和该点集有关的询问(例如和点集关系,点集选择限制)的题目, 很多子树没有变化,暴力没有意义。 提取出有关的点和路径,构成虚树 虚树上DP等等,难点往往在于找到非虚树部分的答案。 建立 1.暴力sort再sort LCA一般都要用,所有点按照dfn序sort, 阅读全文
posted @ 2019-02-13 22:00 *Miracle* 阅读(625) 评论(0) 推荐(0)
摘要: [USACO12DEC]逃跑的BarnRunning Away From… 一个经典问题: 边没有边权,多次询问,查子树中距离x为L的点的个数 n<=1e5,q<=1e5 1.离线,桶维护dep,前后两次,记录桶中的变化(天天爱跑步) O(n) 边有边权,多次询问,查子树中距离x小于L的点的个数 n 阅读全文
posted @ 2019-02-12 21:17 *Miracle* 阅读(185) 评论(0) 推荐(0)
摘要: 左偏树的基础操作和例题:左偏树——可以标记合并的堆 左偏树是可并堆中好写也优秀的一种 顾名思义就是可以合并的堆。 经常见于树上问题 只关心子树的最大值的时候,可以用可并堆 (PS:线段树合并也可以代替之,但是空间大;平衡树启发式合并也可以代替之,但是常数太大) 打标记: [JLOI2015]城池攻占 阅读全文
posted @ 2019-02-12 20:17 *Miracle* 阅读(320) 评论(0) 推荐(0)
摘要: 好题 2.11考试 阅读全文
posted @ 2019-02-11 20:21 *Miracle* 阅读(220) 评论(0) 推荐(0)
该文被密码保护。 阅读全文
posted @ 2019-02-11 20:19 *Miracle* 阅读(5) 评论(0) 推荐(0)
摘要: 其实直接lct完事了。。。 但是太暴力不好看。。。 每个边存在于一个时间区间 对于每个时间区间都有询问 线段树分治! dfs最后扫一遍 并查集按秩合并! 奇环? 并查集树上每个边维护这个点到并查集父亲节点在真实树中的距离奇偶性 发现,这个奇偶性可以直接异或的(可以认为一条边走过两次就是没有走过) 所 阅读全文
posted @ 2019-02-10 21:47 *Miracle* 阅读(483) 评论(0) 推荐(0)
摘要: [IOI2018] seats 排座位 IOI2018题解 压缩状态思想很不错的 每次把原来的贡献减掉,新来的再加上 最多涉及10个点 注意: 1.去重 2.下标从0开始 3.线段树初始的最小值个数都是r-l+1 代码: 阅读全文
posted @ 2019-02-10 20:20 *Miracle* 阅读(642) 评论(0) 推荐(0)
摘要: [IOI2018] werewolf 狼人 IOI2018题解 (其实原题强制在线,要用主席树) 代码: 注意: 1.下标从0~n-1 2.kruskal重构树开始有n个节点,tot从n开始,++tot 总结:kruskal重构树,就是考虑在经过边权在一定范围内到达的区域的点的情况 这里就是简单查询 阅读全文
posted @ 2019-02-10 17:19 *Miracle* 阅读(608) 评论(0) 推荐(0)
摘要: 发现x的子树在后续处理中不会影响逆序对的情况(只关心有哪些值,相对位置已经不重要了) f[x]表示x为根的子树最小逆序对数 考虑左右儿子交换与否。 暴力是O(n^2)的 考虑线段树合并 左右儿子线段树合并的时候,直接类似于分治,记录另一棵数小于某个数的个数, 选择代价小的放在前面 具体看代码: 1. 阅读全文
posted @ 2019-02-10 15:42 *Miracle* 阅读(307) 评论(0) 推荐(0)
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 79 下一页