摘要:
初一看,sb题,上去一个并查集,很快啊,返回一个MLE,定睛一看,系统开的内存很小,但是这个算法复杂度又是这么正确 因此考虑优化内存,这样用滚动数组优化即可 这里注意一个问题,平常并查集从那边指那边都是对的,但是滚动数组就不一样了,对于上一层的,一定要指向下一层,因为如果指向上一层,那么在做的时候, 阅读全文
摘要:
数据范围不大,但是直接dfs显然复杂度不正确,因此只能使用状压 用位运算表示前i位的数更新即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pll; const in 阅读全文
摘要:
首先观察到答案具有单调性 其次,考虑如何check,一个朴素的想法就是枚举区间,之后判断覆盖这段区间的plan有几个,再取个min 这样做复杂度较高,考虑一下优化。 我们可以枚举右端点,之后把符合条件的左端点用树状数组维护,之后用一个指针去不断往前找到最远的符合覆盖大于二分值的点。 注意,这个指针不 阅读全文