摘要:
原题链接 题解 先贪心地令 \(a\) 与 \(b\) 配对,设最大的没有配对到的 \(b\) 为 \(k\) 为什么?因为这样保证了留给 \(m\) 的 \(b\) 是最大的,且原本数组的配对数量也是最优的 接下来 \(m\) 中所有小于 \(k\) 的部分可以直接与 \(k\) 配对 为什么?因 阅读全文
摘要:
原题链接 题解 \(a_{i-1}·2^{k_{i-1}}\leq a_{i}·2^{k_i}\) \(k_i\geq log_2(a_{i-1})-log_2(a_i)+k_{i-1}\) 这里log2不能减,要在里面除,太坑了 code #include<bits/stdc++.h> #defi 阅读全文
摘要:
原题链接 题解 只要存在一对线段不相交就输出yes,显然空集合以及最小的r大于等于最大的l时一定不存在 code #include<bits/stdc++.h> using namespace std; int main() { int q; cin>>q; multiset<int> l,r; w 阅读全文
摘要:
原题链接 题解 已知l,则r越大,f(l,r) 越小,因此具有单调性,我们可以在logn的时间里找最佳r,可是如何在 \(O(1)\) 的时间里计算f(l,r)? 由于与具有重叠不变性,所以我们可以预处理每 \(2^k\) 长度的区间,然后左端点所在的区间和右端点所在的区间与一下 code #inc 阅读全文
