03 2025 档案

摘要:前置知识 可持久化线段树 本质上只是可持久化数组 按秩合并 因为正常写并查集的路径压缩时间复杂度是均摊保证的,所以可以构造数据使可持久化后复杂度爆炸。 所以将并查集按秩合并,保证树长始终为 logn 级别的。 只需要记录一下每个点的子树的深度,将小的合并到大的上。 void merge( 阅读全文
posted @ 2025-03-11 15:44 storms11 阅读(2) 评论(0) 推荐(0) 编辑
摘要:#include <bits/stdc++.h> using namespace std; const int N=1e6+10,M=39989; const double eps=1e-9; int lasans,cnt,n,sh[N]; struct stu { double k,b; }q[N 阅读全文
posted @ 2025-03-04 11:50 storms11 阅读(6) 评论(1) 推荐(0) 编辑
摘要:A-C 直接模拟即可 D 一个鸽子一个点,一个鸽巢一个点,序列上的位置一个点。 转移鸽子直接重新连鸽子与序列的边,转移鸽巢直接重连鸽巢与序列的点。转移都为 O(1) E 一开始,想到了二分加贪心,但是贪心是个分讨,没想清楚细节。 赛后发现只需要二分后只需要维护每个值合法的范围即可,看能否一直 阅读全文
posted @ 2025-03-03 17:09 storms11 阅读(6) 评论(0) 推荐(0) 编辑

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