摘要: 用LCT实现路径加,路径乘,断开及加上一条边(保证是树),查询路径和。 阅读全文
posted @ 2016-12-26 16:17 Monster_Yi 阅读(334) 评论(1) 推荐(0) 编辑
摘要: 实现了路径修改,子树查询,及换根。 换根其实很简单,分三种情况讨论,画画图就明白了。 阅读全文
posted @ 2016-12-26 00:01 Monster_Yi 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 顶点一定在凸包上,我们枚举对角线,观察到固定一个点后,随着另一个点的增加,剩下两个点的最优位置一定是单调的,于是就得到了一个优秀的O(n^2)做法。 阅读全文
posted @ 2016-12-23 21:01 Monster_Yi 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 实现了插入一个点,查询距某个位置的最近点。 阅读全文
posted @ 2016-12-22 09:46 Monster_Yi 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 考虑二分答案,设为k,将大于等于k的元素设为1,小于的设为-1,如果某一段的和>=0,说明这段的中位数>=k. 对于每组询问,二分完后查询新序列的最大子段和即可。 但是不能开n棵线段树,观察到如果将原序列从小到大排序后,每加一个元素只会修改一个位置的值,所以用个主席树维护最大子段和即可。 阅读全文
posted @ 2016-12-21 19:43 Monster_Yi 阅读(181) 评论(0) 推荐(0) 编辑
摘要: 左偏树打个标记,没了。 阅读全文
posted @ 2016-12-21 11:10 Monster_Yi 阅读(303) 评论(0) 推荐(0) 编辑
摘要: 题意:给出一个n*m的矩阵的每行和及每列和,还有一些格子的限制,求一组合法方案。 源点向行,汇点向列,连一条上下界均为和的边。 对于某格的限制,从它所在行向所在列连其上下界的边。 求有源汇上下界可行流即可。 具体做法可以从汇点向源点连容量为正无穷的边,转成无源汇上下界可行流。 然后可以新建超级源汇, 阅读全文
posted @ 2016-12-20 19:22 Monster_Yi 阅读(507) 评论(0) 推荐(0) 编辑
摘要: 用后缀自动机实现求两个串的最长公共子串。 阅读全文
posted @ 2016-12-15 12:02 Monster_Yi 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 实现了两个长度为n的大数相乘。 阅读全文
posted @ 2016-12-14 19:34 Monster_Yi 阅读(780) 评论(0) 推荐(0) 编辑
摘要: 用splay实现二叉搜索树的模板,支持插入,删除,找前缀后缀,x的排名以及第x名的数。 阅读全文
posted @ 2016-12-08 18:51 Monster_Yi 阅读(254) 评论(0) 推荐(0) 编辑