摘要: P2617 Dynamic Rankings 题意:给定一个含有n个数的序列,求任意区间内第k小的树,或者改变某个元素的值 简单的区间k小,就是主席树,如果这道题也用主席树做,那么修改的时候就得把所有后面的线段树都修改一遍,为了更快地维护前缀信息,实用树状数组,每个主席树维护一定区间的权值线段树而不 阅读全文
posted @ 2024-08-31 02:00 Tchai2005 阅读(4) 评论(0) 推荐(0) 编辑
摘要: P1527 [国家集训队] 矩阵乘法 题意:给你一个n×n的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第 k 小数。 整体二分的方法是,先把n*n的矩阵拍平成一维,按照值的大小排序,利用二维树状数组维护大小前[L,mid] 的值的位置的二维前缀即可 P3157 [CQOI2011] 动态逆序对 阅读全文
posted @ 2024-08-29 02:10 Tchai2005 阅读(5) 评论(0) 推荐(0) 编辑
摘要: P3810 【模板】三维偏序(陌上花开) 题意:n个元素,每个元素有三个属性,设一个元素大于一个元素为三个属性都大于另一个属性,求每个元素大于几个元素。 CDQ分治模板题,第一维先排序,然后递归分治,具体来说是[L,R]区间,先计算[L,mid]和[mid+1,R]区间内的大小比较,然后将[L,mi 阅读全文
posted @ 2024-08-28 02:26 Tchai2005 阅读(4) 评论(0) 推荐(0) 编辑
摘要: P3527 [POI2011] MET-Meteors 题意:给定一个序列,这个序列中每个元素的值代表了一个变量 每次将这个区间内的所有变量加或减,且每个变量都有一个上限,求第几次操作之后达到这个上限 对于一个变量,可以用简单二分实现,现在有多个变量,则可以用整体二分,solve(a,b,l,r) 阅读全文
posted @ 2024-08-27 02:02 Tchai2005 阅读(7) 评论(0) 推荐(0) 编辑
摘要: TTM - To the moon 题意:给定区间,有区间加减操作,区间求和操作,回退版本操作 主席树的lazytag不方便下传,因为有不同版本的共用节点,pushdown之后会导致前一个版本的值也改变了 考虑持久化标记,坑比较多 修改的时候直接把这个区间的值算出来,而不是递归子节点之后pushup 阅读全文
posted @ 2024-08-26 01:23 Tchai2005 阅读(2) 评论(0) 推荐(0) 编辑
摘要: P2633 Count on a tree 题意:给定一个树,每个点有一个权值,求两节点中第k小的点权,强制在线 主席树,处理每个点到根节点的所有点建立权值线段树,对于u到v这条路径上大小在[l,mid]中的点的数量为 q(u)+q(v)-q(lca(u,v))-q(fa[lca(u,v)]); P 阅读全文
posted @ 2024-08-25 01:43 Tchai2005 阅读(4) 评论(0) 推荐(0) 编辑
摘要: U109895 [HDU4825]Xor Sum 题意:给定一个集合,多次询问:给出一个数求在集合里求出一个数使得两数异或结果最大 对于异或而言 一个数的高位异或结果更大那一定结果更大,考虑一种方式可以快速地把集合里的所有数一位一位地比较,那就用Trie树 P4551 最长异或路径 题意:一棵树每个 阅读全文
posted @ 2024-08-24 00:08 Tchai2005 阅读(4) 评论(0) 推荐(0) 编辑
摘要: P2341 [USACO03FALL / HAOI2006] 受欢迎的牛 G 题意:给定一个有向图,求有几个点能够被所有的点到达。 设所有能到达某个点的点作为该点的点集,那么所有点集相同的点都在一个强连通分量里,该题求的点的点集是所有的点,每个要求的点都在一个分量里,而且该分量的出度一定为0,不然就 阅读全文
posted @ 2024-08-16 00:17 Tchai2005 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 矩阵游戏 题意:给定一个01方阵,通过交换两行或两列,能否将其变为对角矩阵? 如果每一行都能有一个对应的一列,那么一定能通过交换操作变成有序的 P7368 [USACO05NOV] Asteroids G 题意:给定一个01方阵,每次将某一行或某一列的1全部变成0,若要将整个矩阵变为0,最少需要几次 阅读全文
posted @ 2024-08-15 00:35 Tchai2005 阅读(8) 评论(0) 推荐(0) 编辑
摘要: P3733 [HAOI2017] 八纵八横 题意:给定一个动态图,求不同时候,从点1开始回到点1的路径最大的异或和 参见昨天的随笔中的结论,实际上就是建树,每加一个边,就把左节点的异或上右节点异或上边的权,用线段树分治维护一个线性基。线段树分治有一点好就是可以让一个复杂的数据结构一步一步地退回过去状 阅读全文
posted @ 2024-08-13 00:09 Tchai2005 阅读(8) 评论(0) 推荐(0) 编辑