基础算法题
Thomas_ZQQ@Runespoor
这个作者很懒,什么都没留下…
展开
-
【题解】bzoj 3307: 雨天的尾巴 线段树合并
Description N个点,形成一个树状结构。有M次发放,每次选择两个点x,y 对于x到y的路径上(含x,y)每个点发一袋Z类型的物品。完成 所有发放后,每个点存放最多的是哪种物品。 Input 第一行数字N,M 接下来N-1行,每行两个数字a,b,表示a与b间有一条边 再接下来M行,每行三个数字x,y,z.如题 Output 输出有N行 每i行的数字表示第i个点存放最多的物品是哪一种,如果有...原创 2019-02-07 14:36:04 · 252 阅读 · 0 评论 -
【bzoj】3745: [Coci2015]Norma
题意: n <= 5e5 题解: ** 首先,想到确定最大值,最小值的区间一起统计。因为是统计所有区间,第一想法是枚举右端点,维护所有左端点的答案 用单调栈分别维护最小值,最大值,把贡献拆开讨论一下,需要用线段树维护mx(i) * mn(i), mx(i) * mn(i) * i,mx(i) * i,mn(i) * i,mx(i),mn(i) 6个和。因为更新的时候要么更新最大值,要么更新...原创 2019-01-30 07:11:47 · 197 阅读 · 0 评论 -
【题解】【CF666E】Forensic Examination(后缀自动机,线段树合并)
题解看 yyb的博客 翻译: 给定一个串S和若干个串Ti 每次询问S[pl…pr]在Tl…Tr中出现的最多次数,以及出现次数最多的那个串的编号。 **parent树上线段树合并很常规 但是有个疑问: 这个在trie树上进行一次节点映射,trie上节点被原串覆盖次数是均摊的啊,所以线段树合并复杂度会不会有问题,比如parent树深度子树出现位置特别大 需要对线段树合并的复杂度再学习一下 ** ** ...原创 2019-01-30 22:26:14 · 393 阅读 · 0 评论 -
【题解】codeforces 793G - Oleg and chess 线段树优化建边--最大流
题意 一个网格图,删除一些矩形中的格子 每行每列只能放一个棋子,问最多放多少个 n , q <= 1e4 题解 标准的网络流模型是行列分开连边 对矩形扫描线 可持久化线段树维护当前可行的格子。 矩形差分,每次修改新建节点,如果一段区间都被删除则不连边。 因为矩形没有重叠,非常好写! 一开始还以为有高论,结果是简单的模型 总结: 这样简单的题必须快速写,基本的模型,没有细节,只需要写的时候...原创 2019-03-06 18:58:34 · 241 阅读 · 0 评论