会员
周边
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
celerity
要寄了吗
博客园
首页
新随笔
联系
订阅
管理
上一页
1
···
11
12
13
14
15
16
下一页
2020年9月15日
有根树
摘要: 显然我们会选择$w$最大的点加入答案。 当被插入的$w$值越小,插入的节点数会越大。 被插入的$w$值随着插入的节点数变得越来越小。 所以我们其实是要求两个单调函数的交点。 可以把$w$从大到小排序后把最大的值插入到解中。 由于$w$的权值只有$n$种,所以可以桶排序。 考虑加速这个过程。 一个想法
阅读全文
posted @ 2020-09-15 09:14 会赢嘛
阅读(238)
评论(0)
推荐(0)
2020年9月14日
轻重链剖分/长短链剖分
摘要: 有时,我们要在树上进行操作。 链操作比较容易维护。 由于链每个点只有一个前驱和后继,所以可以直接使用数据结构维护。 但是树上就难以维护。 可以考虑把树分解成若干条链。这样子就把树的问题转化成了链的问题。 定义一个点$x$的偏好儿子$p_x$。 除了叶子节点以外,每个节点$x$有且只有一个$p_x$。
阅读全文
posted @ 2020-09-14 16:41 会赢嘛
阅读(354)
评论(0)
推荐(0)
2020年9月13日
CF1389G
摘要: 第一道自己想出的2800。 首先,把所有边双联通分量缩成一个点。 为什么?可以用dfs树证明。 从根节点开始dfs。 dfs生成树上父亲到儿子定向,返祖边的定向为儿子到祖先。 根据边双联通分量的性质,每条边必定被一条反向边覆盖。 这说明每条边至少被一个环覆盖。 如果我们在这个边双内插入无向边,结果不
阅读全文
posted @ 2020-09-13 18:26 会赢嘛
阅读(217)
评论(0)
推荐(0)
2020年9月12日
[POI2014]HOT-Hotels加强版
摘要: 这是个长剖练习题。但是重点在于dp。 数据范围达到$105$,所以直接dp是不可取的。 设$f_{x,i}$表示$x$子树内有多少个点距离$x$为i。 显然有转移方程$f_{x,i}+=f_{y,i-1}$ 根据题设,假设一个节点为$t$,则题目要求$dis(x,t)=dis(y,t)=dis(z,
阅读全文
posted @ 2020-09-12 15:08 会赢嘛
阅读(174)
评论(0)
推荐(0)
可持久/可回退化数据结构
摘要: 可持久化数据结构用来解决这个问题: 1.在某个版本的基础上修改,同时生成新的版本 2.查询某个版本的值。 直接复制版本十分浪费。 为了查询以前的信息,可以不动以前的节点,只建新节点。 这就是可持久化数据结构的思想。 可回退化数据结构比上面的更弱。它用来解决这个问题: 1.在当前版本上进行修改 2.回
阅读全文
posted @ 2020-09-12 14:53 会赢嘛
阅读(530)
评论(0)
推荐(1)
2020年9月11日
PA2014 Muzeum
摘要: 如果不考虑复杂度,显然可以最大权闭合子图。 考虑最小割。 一个警卫向他可以看到的珠宝连inf边。 起点向警卫连贿赂费用的边。 珠宝向终点连价值的边。 把所有珠宝的价值加起来再减去最大流可以得到答案。 但是看到数据范围,这样子不太能做。 考虑最大流。先旋转坐标系,使得每个警卫只能看到横/纵坐标都比它小
阅读全文
posted @ 2020-09-11 07:37 会赢嘛
阅读(95)
评论(0)
推荐(0)
2020年9月10日
虚树
摘要: 有时,我们只需要知道树上一些关键点组合而成的信息,就可以知道答案。 可以建出这些点的虚树。 虚树有静态和动态两种。 静态虚树就是网上讲的普通虚树。 按照dfs序从小到大添加节点,每次更新虚树。 维护一个栈,表示最右链。 根据lca分类讨论。 实际上这就是模拟dfs的过程。 所以如果要树dp,在建虚树
阅读全文
posted @ 2020-09-10 17:33 会赢嘛
阅读(352)
评论(0)
推荐(0)
树状数组区间修改
摘要: 有时,我们要支持区间修改,区间查询。 线段树可以做到。 但是树状数组更好写。 1d的情况: 设$b[i]=a[i]-a[i-1]$ 则$a[i]=b[1]+...+b[i]$ \(a[1]+...+a[l]=(b[1])+(b[1]+b[2])+....(b[1]+...+b[l])\) \(a[1
阅读全文
posted @ 2020-09-10 14:39 会赢嘛
阅读(362)
评论(0)
推荐(0)
2020年9月9日
历史最值
摘要: 有时,我们要求一个位置的历史最值,支持区间赋值,区间+。 可以维护一个标记(a,b):x=max(a+x,b) 则两个标记(a,b),(c,d)合并后的结果是(max(a,c),max(b,d)) 这是因为实际上标记可以被视为直线的半平面交。画图即可知道这样合并。 如果进行区间+x,则打上标记(x,
阅读全文
posted @ 2020-09-09 16:17 会赢嘛
阅读(170)
评论(0)
推荐(0)
线段树beats
摘要: 有时,我们要维护一个数据结构,支持区间对x取min。 如果只有区间max/min查询,则可以把区间的所有节点的值对x取min。 标记可以合并,这样子时间复杂度是nlogn的。 但是如果有了区间和查询,则不能这么做。 虽然标记可以合并,但是无法更新区间最大值。 考虑维护区间严格次大值m2和区间最大值的
阅读全文
posted @ 2020-09-09 09:01 会赢嘛
阅读(376)
评论(0)
推荐(1)
上一页
1
···
11
12
13
14
15
16
下一页
公告