02 2024 档案

摘要:嘛,这个东西虽然叫时间线段树,但是和线段树好像关系并不大,只是借用了一下线段树的结构。 算法介绍 这个算法是用来解决这类问题的:每个操作只在一段时间内生效,然后询问某个时间点所有操作的贡献。 于是我们考虑离线,对整个时间序列建一个线段树,每次操作相当于是在这个线段树上进行了区间修改,所以我们可以利用 阅读全文
posted @ 2024-02-26 15:26 小蛐蛐awa 阅读(35) 评论(0) 推荐(0) 编辑
摘要:考虑当这个东西是一条链的时候我们该怎么做,显然 1​ 会有两个儿子,然后两个儿子分别是一条链。 所以我们可以给两个儿子的链上的所有节点分别加到两个堆里,每次取出两个堆的最大值加入到我们选择的答案中,然后把两个堆的最大值全部 pop 掉。最终的答案就是我们 pop 完一个堆之后,所有 pop 阅读全文
posted @ 2024-02-26 08:41 小蛐蛐awa 阅读(6) 评论(0) 推荐(0) 编辑
摘要:沟槽的公式,真是公公又式式啊。 考虑一个线段树节点维护一个线段(但一条线段可以被多个线段树节点维护),需要保证该节点被线段完全覆盖。 每次添加一个线段的时候: 如果当前节点没有被这个线段完全覆盖,那么直接递归左右儿子修改。 如果当前节点的线段比新线段严格劣(也就是对于每一个 x 都有 \(y 阅读全文
posted @ 2024-02-24 10:04 小蛐蛐awa 阅读(10) 评论(0) 推荐(0) 编辑
摘要:势能线段树。如果线段树上一个节点的 maxmin2,我们称其为关键节点,考虑定义势能 ϕ 为线段树上关键节点的个数。 对于每次开方操作,如果当前节点为关键节点,则暴力递归左右儿子修改,否则: 如果当前节点 max=min 或 \(\max=\min+1 阅读全文
posted @ 2024-02-23 21:48 小蛐蛐awa 阅读(44) 评论(1) 推荐(1) 编辑
摘要:由于博客园存在关站风险,文章以后同步发在 这里,可能会有更好的阅读体验。 首先我们分析一下,如果我们已经知道了要走哪些点,我们可以怎么做。 考虑将 ai,bi 之间连边,发现题目可以被转化为给定一个图,要求对于每条边将其一个顶点染色,问最多能将多少个点染色。 于是我们对于每个连通块分开来 阅读全文
posted @ 2024-02-22 21:31 小蛐蛐awa 阅读(30) 评论(0) 推荐(0) 编辑
摘要:考虑将 ai,bi 之间连边,发现题目可以被转化为给定一个图,要求对于每条边将其一个顶点染色,问最多能将多少个点染色。 于是我们对于每个连通块分开来考虑。对于一个连通块,注意到我们不能将每个顶点染色当且仅当这个连通块是树,且此时可以染色的定点数量为连通块大小减一,如下: 如果当前连通块是 阅读全文
posted @ 2024-02-21 11:39 小蛐蛐awa 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题意即为求 mini=1nmaxj=1n(max(xixj,0),max(yiyj,0),max(zizj,0)),容易观察到,x,y,z 任意一项,都会产生对答案有贡献或对答案无贡献两种情况,且我们要求的 \ 阅读全文
posted @ 2024-02-01 16:44 小蛐蛐awa 阅读(7) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示