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