上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 79 下一页
摘要: 左偏树的基础操作和例题:左偏树——可以标记合并的堆 左偏树是可并堆中好写也优秀的一种 顾名思义就是可以合并的堆。 经常见于树上问题 只关心子树的最大值的时候,可以用可并堆 (PS:线段树合并也可以代替之,但是空间大;平衡树启发式合并也可以代替之,但是常数太大) 打标记: [JLOI2015]城池攻占 阅读全文
posted @ 2019-02-12 20:17 *Miracle* 阅读(312) 评论(0) 推荐(0) 编辑
摘要: 好题 2.11考试 阅读全文
posted @ 2019-02-11 20:21 *Miracle* 阅读(207) 评论(0) 推荐(0) 编辑
该文被密码保护。 阅读全文
posted @ 2019-02-11 20:19 *Miracle* 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 其实直接lct完事了。。。 但是太暴力不好看。。。 每个边存在于一个时间区间 对于每个时间区间都有询问 线段树分治! dfs最后扫一遍 并查集按秩合并! 奇环? 并查集树上每个边维护这个点到并查集父亲节点在真实树中的距离奇偶性 发现,这个奇偶性可以直接异或的(可以认为一条边走过两次就是没有走过) 所 阅读全文
posted @ 2019-02-10 21:47 *Miracle* 阅读(466) 评论(0) 推荐(0) 编辑
摘要: [IOI2018] seats 排座位 IOI2018题解 压缩状态思想很不错的 每次把原来的贡献减掉,新来的再加上 最多涉及10个点 注意: 1.去重 2.下标从0开始 3.线段树初始的最小值个数都是r-l+1 代码: 阅读全文
posted @ 2019-02-10 20:20 *Miracle* 阅读(614) 评论(0) 推荐(0) 编辑
摘要: [IOI2018] werewolf 狼人 IOI2018题解 (其实原题强制在线,要用主席树) 代码: 注意: 1.下标从0~n-1 2.kruskal重构树开始有n个节点,tot从n开始,++tot 总结:kruskal重构树,就是考虑在经过边权在一定范围内到达的区域的点的情况 这里就是简单查询 阅读全文
posted @ 2019-02-10 17:19 *Miracle* 阅读(572) 评论(0) 推荐(0) 编辑
摘要: 发现x的子树在后续处理中不会影响逆序对的情况(只关心有哪些值,相对位置已经不重要了) f[x]表示x为根的子树最小逆序对数 考虑左右儿子交换与否。 暴力是O(n^2)的 考虑线段树合并 左右儿子线段树合并的时候,直接类似于分治,记录另一棵数小于某个数的个数, 选择代价小的放在前面 具体看代码: 1. 阅读全文
posted @ 2019-02-10 15:42 *Miracle* 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 说白了,就是这个样子: 这个玩意明显是一个优美的树形结构 是个森林 然后建个虚点0,并且w[0]=0,然后树形dp即可 f[x]=max(w[x],∑f[son]) 难点是:树怎么建? 就要上计算几何了: 如果我们用扫描线扫过去 发现,同时存在的两个圆,由于不相交,不相切,所以 相对位置始终保持不变 阅读全文
posted @ 2019-02-10 15:37 *Miracle* 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 做法大概有两种: 1.二分平均值,每个值减去平均值,求有没有一个区间的总和大于等于0 (类比,中位数是二分之后,比mid大的为1,小的为0,看有没有区间大于等于0这样) 最值问题——判定问题 单调队列优化即可(队列的r和R别混了) 至于变成a/b的分数形式怎么办?每次记录一个合法的[A,B]最后剩下 阅读全文
posted @ 2019-02-10 15:21 *Miracle* 阅读(192) 评论(0) 推荐(0) 编辑
摘要: 反演魔术:反演原理及二项式反演 【Learning】二项式反演 一个通用技巧是: 找到两个数组f,g f范围宽松好统计,g范围严格难统计但是和答案有直接关系, 这样,只要得到f和g的关系,就可以找到答案! 经常是可以得到f由g的表达式,然后斯特林反演或者二项式反演得到g的求法 阅读全文
posted @ 2019-02-09 23:12 *Miracle* 阅读(136) 评论(0) 推荐(0) 编辑
上一页 1 ··· 31 32 33 34 35 36 37 38 39 ··· 79 下一页