摘要: 不知道哪里写挂了,一直过不去 但是正确性是有保证的。 #include<bits/stdc++.h> using namespace std; #define N 200010 #define ll long long int h[N],v[N*2],w[N*2],nxt[N*2],ec,n,q,f 阅读全文
posted @ 2020-09-15 15:55 会赢嘛 阅读(156) 评论(0) 推荐(0)
摘要: 显然我们会选择$w$最大的点加入答案。 当被插入的$w$值越小,插入的节点数会越大。 被插入的$w$值随着插入的节点数变得越来越小。 所以我们其实是要求两个单调函数的交点。 可以把$w$从大到小排序后把最大的值插入到解中。 由于$w$的权值只有$n$种,所以可以桶排序。 考虑加速这个过程。 一个想法 阅读全文
posted @ 2020-09-15 09:14 会赢嘛 阅读(212) 评论(0) 推荐(0)
摘要: 有时,我们要在树上进行操作。 链操作比较容易维护。 由于链每个点只有一个前驱和后继,所以可以直接使用数据结构维护。 但是树上就难以维护。 可以考虑把树分解成若干条链。这样子就把树的问题转化成了链的问题。 定义一个点$x$的偏好儿子$p_x$。 除了叶子节点以外,每个节点$x$有且只有一个$p_x$。 阅读全文
posted @ 2020-09-14 16:41 会赢嘛 阅读(320) 评论(0) 推荐(0)
摘要: 第一道自己想出的2800。 首先,把所有边双联通分量缩成一个点。 为什么?可以用dfs树证明。 从根节点开始dfs。 dfs生成树上父亲到儿子定向,返祖边的定向为儿子到祖先。 根据边双联通分量的性质,每条边必定被一条反向边覆盖。 这说明每条边至少被一个环覆盖。 如果我们在这个边双内插入无向边,结果不 阅读全文
posted @ 2020-09-13 18:26 会赢嘛 阅读(206) 评论(0) 推荐(0)
摘要: 这是个长剖练习题。但是重点在于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 会赢嘛 阅读(155) 评论(0) 推荐(0)
摘要: 可持久化数据结构用来解决这个问题: 1.在某个版本的基础上修改,同时生成新的版本 2.查询某个版本的值。 直接复制版本十分浪费。 为了查询以前的信息,可以不动以前的节点,只建新节点。 这就是可持久化数据结构的思想。 可回退化数据结构比上面的更弱。它用来解决这个问题: 1.在当前版本上进行修改 2.回 阅读全文
posted @ 2020-09-12 14:53 会赢嘛 阅读(493) 评论(0) 推荐(1)
摘要: 如果不考虑复杂度,显然可以最大权闭合子图。 考虑最小割。 一个警卫向他可以看到的珠宝连inf边。 起点向警卫连贿赂费用的边。 珠宝向终点连价值的边。 把所有珠宝的价值加起来再减去最大流可以得到答案。 但是看到数据范围,这样子不太能做。 考虑最大流。先旋转坐标系,使得每个警卫只能看到横/纵坐标都比它小 阅读全文
posted @ 2020-09-11 07:37 会赢嘛 阅读(82) 评论(0) 推荐(0)
摘要: 有时,我们只需要知道树上一些关键点组合而成的信息,就可以知道答案。 可以建出这些点的虚树。 虚树有静态和动态两种。 静态虚树就是网上讲的普通虚树。 按照dfs序从小到大添加节点,每次更新虚树。 维护一个栈,表示最右链。 根据lca分类讨论。 实际上这就是模拟dfs的过程。 所以如果要树dp,在建虚树 阅读全文
posted @ 2020-09-10 17:33 会赢嘛 阅读(339) 评论(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 会赢嘛 阅读(344) 评论(0) 推荐(0)
摘要: 有时,我们要求一个位置的历史最值,支持区间赋值,区间+。 可以维护一个标记(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 会赢嘛 阅读(151) 评论(0) 推荐(0)