摘要: 题目链接 开300000个并查集固然会空间超限,但考虑到每个并查集内部都存在着大量的空间浪费,因此你完全可以实现“动态开点”并查集 点击查看代码 #include <bits/stdc++.h> using namespace std; int fa[700005],s[700005],u[3000 阅读全文
posted @ 2024-08-26 20:03 D06 阅读(5) 评论(0) 推荐(0) 编辑
摘要: 题目链接 相信OI美学 点击查看代码 #include <bits/stdc++.h> using namespace std; vector<int>a[200005]; int f[200005],s[200005],ansa[200005],ansb[200005]; void dp(int 阅读全文
posted @ 2024-08-26 19:26 D06 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 题目链接 题解好抽象……费了好大劲儿才(自认为)勉强看懂代码,也不打算自己重写了,下附自己写的log平方(我的实现可能是立方)代码和题解代码 首先,朴素模拟的复杂度似乎不对,但通过打表找规律可以发现一个优良性质——对于每次合并完的结果,至多有两个长度相同的互异段,于是朴素模拟的复杂度的确是log方的 阅读全文
posted @ 2024-08-26 00:17 D06 阅读(24) 评论(0) 推荐(0) 编辑