上一页 1 2 3 4 5 6 ··· 11 下一页
摘要: 1 阅读全文
posted @ 2025-01-05 22:45 仙山有茗 阅读(7) 评论(0) 推荐(0)
摘要: 启发式合并 若干个集合 \(S_1,S_2,\dots,S_m\),令 \(|S_1|\le|S_2|\le\dots\le|S_m|\)。现在将它们合并成一个大集合,保留 \(S_m\),将其他集合合并到 \(S_m\) 中。合并过程形成一个树的结构,重量上的点不需要合并。每个叶节点合并的次数即为 阅读全文
posted @ 2025-01-05 22:28 仙山有茗 阅读(24) 评论(0) 推荐(0)
摘要: int a[N],b[N],n; // a=b sort(a+1,a+n+1); int len=unique(a+1,a+n+1)-a-1; for(int i=1; i<=n; i++) b[i]=lower_bound(a+1,a+len+1,b[i])-a; 排序+去重解决值域过大问题,用处 阅读全文
posted @ 2025-01-05 22:22 仙山有茗 阅读(6) 评论(0) 推荐(0)
摘要: 有多个需要二分的对象的时候,有时候可以放在一起来二分。 整体二分学习笔记 - 洛谷专栏。 todo. 阅读全文
posted @ 2025-01-05 22:19 仙山有茗 阅读(6) 评论(0) 推荐(0)
摘要: [学习笔记]CDQ分治和整体二分 - 洛谷专栏 阅读全文
posted @ 2025-01-05 22:14 仙山有茗 阅读(5) 评论(0) 推荐(0)
摘要: 降维。 P5490 【模板】扫描线 & 矩形面积并 【学习笔记】扫描线 - 洛谷专栏。 离散化后线段树维护当前覆盖区间长度并计算答案。 需要注意的是线段树的叶子结点不能表示数轴上的一个点,要表示一段区间。所以可以令线段树上的 \([l,r]\) 表示实际上的 \([l,r+1]\) (离散化后)。 阅读全文
posted @ 2025-01-05 22:12 仙山有茗 阅读(44) 评论(0) 推荐(0)
摘要: 用来求单峰函数的极值点。 字面意思,把区间分成三份,每次根据切割点的关系选择丢弃左边或右边区间。每次操作可以使区间长度 \(\text{len} \larr \text{len} \times \dfrac{2}{3}\)。 考虑优化,既然是丢弃左右区间,那就可以使左右区间尽可能大,尝试使时间复杂度 阅读全文
posted @ 2025-01-05 22:11 仙山有茗 阅读(11) 评论(0) 推荐(0)
摘要: \(n\) 个物品,每个物品有两个权值 \(a_i,b_i\),令 \(w_i\) 表示选或不选,最大化或最小化 \(\dfrac{\sum w_i \times a_i}{\sum w_i \times b_i}\)。 二分一个 \(t\) 使得 \(\dfrac{\sum w_i \times 阅读全文
posted @ 2025-01-05 22:01 仙山有茗 阅读(9) 评论(0) 推荐(0)
摘要: 定义 若整数 \(n\) 除以整数 \(d\) 的余数为 \(0\),即 \(d\) 能整除 \(n\),则称 \(d\) 是 \(n\) 的约数,\(n\) 是 \(d\) 的倍数,记为 \(d|n\)。 记 \(p_i\) 为质数,\(c_i\) 为指数。 算术基本定理 对于任意大于 \(1\) 阅读全文
posted @ 2025-01-05 21:49 仙山有茗 阅读(84) 评论(0) 推荐(0)
摘要: Kruskal 对边排序,依次加边,用并查集记录连通块,直到连为一棵树。\(O(m\log m)\)。 int kruskal(int n,int m){ sort(e+1,e+m+1); set s; int ans=0,cnt=1; for(int i=1; i<=m; i++) if(s.fi 阅读全文
posted @ 2024-12-30 22:22 仙山有茗 阅读(10) 评论(0) 推荐(0)
上一页 1 2 3 4 5 6 ··· 11 下一页