03 2025 档案
摘要:前置知识 可持久化线段树 本质上只是可持久化数组 按秩合并 因为正常写并查集的路径压缩时间复杂度是均摊保证的,所以可以构造数据使可持久化后复杂度爆炸。 所以将并查集按秩合并,保证树长始终为 级别的。 只需要记录一下每个点的子树的深度,将小的合并到大的上。 void merge(
阅读全文
摘要:#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
阅读全文
摘要:A-C 直接模拟即可 D 一个鸽子一个点,一个鸽巢一个点,序列上的位置一个点。 转移鸽子直接重新连鸽子与序列的边,转移鸽巢直接重连鸽巢与序列的点。转移都为 E 一开始,想到了二分加贪心,但是贪心是个分讨,没想清楚细节。 赛后发现只需要二分后只需要维护每个值合法的范围即可,看能否一直
阅读全文