上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 120 下一页
摘要: 感觉现在写点分治可快了~ 二分答案,就可以将求第 $k$ 大转换成一个判断问题,直接拿点分树判断一下就行了. 阅读全文
posted @ 2019-09-03 20:08 EM-LGH 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 写了7k多,可以说是一己之力切掉了这道毒瘤题~ 开 $3$ 种堆,分别维护每个子树最大深度,以及每个节点在点分树中对父亲的贡献,和全局的最优解. 由于需要支持堆的删除,所以写起来特别恶心+麻烦. 细节巨多~ 阅读全文
posted @ 2019-09-03 18:36 EM-LGH 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 细节挺多的,但是也确实加深了我对动态点分治的理解. 这段代码值得关注: 点分树的结构是和原树不同的. 我们知道,最优决策点和根节点的连线上的点的答案一定是越来越优的. 而如果发现 $to[i]$ 所在子树中,$to[i]$ 更优,那么想在点分树中到达 $to[i]$,直接走到 $to[i]$所在重心 阅读全文
posted @ 2019-09-03 10:30 EM-LGH 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 独立写出来+想出来的,1.5h就切了~ 建立点分树,然后用 $vector$ 暴力存所有子节点,然后二分一下子就可以了. 阅读全文
posted @ 2019-09-02 20:58 EM-LGH 阅读(137) 评论(0) 推荐(0) 编辑
摘要: 挺简单的,但是给人一种把两个问题强行弄到一起的感觉. 十分不好写. Code: 阅读全文
posted @ 2019-09-02 17:00 EM-LGH 阅读(175) 评论(0) 推荐(0) 编辑
摘要: 好久不做点分治的题了,正好在联赛之前抓紧复习一下. 先把边权为 $0$ 的置为 $-1$.定义几个状态:$f[dis][0/1],g[dis][0/1]$ 其中 $f$ 代表在当前遍历的子树内的答案. 其中 $f[dis][0]$ 表示到根节点距离为 $dis$,没有遇到平衡点的个数,$f[dis] 阅读全文
posted @ 2019-09-02 10:51 EM-LGH 阅读(163) 评论(0) 推荐(0) 编辑
摘要: 利用树剖序的一些性质~ 这个题可以出到 $\sum k=10^5$ 左右. 做法很简单:每次暴力跳重链,并在线段树上查询链和. 查询之后打一个标记,把加过的链都置为 $0$.这样的话在同一次询问时即使有重复的也无所谓. 然后本次查询后在线段树的 $1$ 号节点再打一个标记,用来将那些置零的标记清空. 阅读全文
posted @ 2019-09-02 08:44 EM-LGH 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 考试的时候考的一道题,感觉挺神的. 我们发现将所有数去重后最多只会选不到 $7$ 后 $gcd$ 就会变成 $1$. 令 $f[i][k]$ 表示选 $i$ 个数后 $gcd$ 为 $k$ 的方案数. 那么这 $i$ 个数中每个数都必须是 $k$ 的倍数. 令 $cnt[k]$ 为所有数中是 $k$ 阅读全文
posted @ 2019-08-31 14:53 EM-LGH 阅读(170) 评论(0) 推荐(0) 编辑
摘要: 考场上切的,挺简单的~ Code: 阅读全文
posted @ 2019-08-31 13:16 EM-LGH 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 比较考验对后缀自动机构建过程的理解. 之前看题解写的都是树链的并,但是想了想好像可以直接撤销,复杂度是线性的. 自己想出来的,感觉后缀自动机的题应该不太能难倒我~ 注意:一定要手画一下后缀自动机的构建过程,然后看着自己画的图一步一步模拟即可. Code: 阅读全文
posted @ 2019-08-30 20:26 EM-LGH 阅读(191) 评论(0) 推荐(0) 编辑
上一页 1 ··· 57 58 59 60 61 62 63 64 65 ··· 120 下一页