摘要:
wqs二分 详解 wqs二分常用来解决如下问题: 给定若干 \(n\) 个物品,要求从中恰好选 \(m\) 次,最大化/最小化选的物品的权值和。 使用条件: 设 \(g(i)\) 选 \(i\) 个物品的最优方案,将所有 \((i,g(i))\) 的点画出来,必须组成一个凸包(上凸包、下凸包均可)。 阅读全文
posted @ 2024-10-11 21:48
EcapsXD
阅读(47)
评论(0)
推荐(0)
摘要:
左偏树 / 可并堆 更好地维护优先队列 详解blog 支持的操作: 堆的所有操作 Marge - 维护左偏性质 更快的合并 使用 pbds 库 头文件 ext/pb_ds/priority_queue.hpp 命名空间 using namespace __gnu_pbds 声明 __gnu_pbds 阅读全文
posted @ 2024-10-11 21:48
EcapsXD
阅读(53)
评论(0)
推荐(0)
摘要:
参考blog 矩阵加速优化 模板 #include <bits/stdc++.h> #define MAXM 3 using namespace std; struct Matrix{ int a[MAXM][MAXM]; Matrix() { memset(a,0,sizeof a); } Mat 阅读全文
posted @ 2024-10-11 21:48
EcapsXD
阅读(32)
评论(0)
推荐(0)
摘要:
点分治 参考blog 点分治 是一种解决树上统计问题的常用方法,本质思想就是选择一点作为分治中心,将原问题划分为几个相同的子树上的问题,进行递归解决。 常见题目中给出的树都是无根树(所需维护的信息与根节点是谁无关)。 常见的用于统计树上有关路径的信息。假设当前选定根节点为 \(rt\) ,则符合条件 阅读全文
posted @ 2024-10-11 21:48
EcapsXD
阅读(110)
评论(0)
推荐(0)
摘要:
重链剖分 参考blog:https://www.cnblogs.com/ivanovcraft/p/9019090.html 顾名思义,重链剖分就是将一颗有根树剖分成若干条重链,然后用数据结构维护这些重链的信息。 典型问题 对于一颗有根树有如下操作: 将树从x到y结点最短路径上所有节点的值都加上z 阅读全文
posted @ 2024-10-11 21:47
EcapsXD
阅读(49)
评论(0)
推荐(0)

浙公网安备 33010602011771号