随笔分类 - 系统STL--priority_queue
摘要:"传送门" 先处理出每一件衣服最早什么时候洗完,堆+贪心即可 然后同样处理出每件衣服最早什么时候烘干 然后倒序相加取最大值 cpp include using namespace std; typedef long long ll; const int maxn(1e5 + 5); int l, n
阅读全文
摘要:题面 "Bzoj" Sol 维护一个小根堆,初始里面放$2 k$个元素(因为点对可能算两遍) 每个点$KDTree$暴力查询是否有与这个点距离大于堆顶的,替换堆顶就好了 include define IL inline define RG register define Fill(a, b) mem
阅读全文
摘要:题意 一棵树,每个点初始有个点权和颜色 $0 \ u$ :询问所有$u,v$ 路径上的最大点权,要满足$u,v$ 路径上所有点的颜色都相同 $1 \ u $:反转$u$ 的颜色 $2 \ u \ w$ :把$u$ 的点权改成$w$ $color_i∈[0,1],w_i∈[−10^9,10^9],n,
阅读全文
摘要:题意 一棵$n$个点的树,点从$1$到$n$编号。每个点可能有两种颜色:黑或白。 我们定义$dist(a,b)$为点$a$至点$b$路径上的边个数。 一开始所有的点都是黑色的。 要求作以下操作: $0 i$ 将点$i$的颜色反转(黑变白,白变黑) $1 v$ 询问$dist(u,v)$的最小值,$u
阅读全文
摘要:题面 "传送门" Sol 先$SPFA$求出单源最短路,$Bfs$建出树,字典序可以用堆解决 然后就是点分治的一眼题 开桶记录到当前根经过边长度相同的最长路,记录它的长度 自己强行$yy$了一个这种类型的点分丑陋写法 cpp include define RG register define IL
阅读全文
摘要:题面 "传送门" Sol 求前缀和之后,每次枚举左端点,找到相应的区间最大值,丢到堆里面 每次取出一个就拿出来找下一个最大值再丢进去 那么就是要求区间第$k$大,主席树就好了 ~~因为数组开小了和没开longlong,WA无数遍~~ ~~我太菜了太菜了太菜了~~ cpp include define
阅读全文
摘要:题面 "戳我" Sol 右偏树~~滑稽~~+并查集 再在全局开一个可删除的堆(priority_queue) 注意细节 cpp include define RG register define IL inline define Fill(a, b) memset(a, b, sizeof(a))
阅读全文
摘要:简介 这是我自己的一点理解,可能写的不好 点分治都学过吧。。 点分治每次找重心把树重新按重心的深度重建成了一棵新的树,称为分治树 这个树最多有log层。。。 动态点分治:记录下每个重心的上一层重心,这棵分治树就确定了 修改就暴力在分治树中向上改,反正是log的 至于为什么叫动态点分治我不知道。。。我
阅读全文

浙公网安备 33010602011771号