摘要:
问你长度最小的区间使得最大值减最小值>=d。发现这个是单调的,那么我们可以二分答案。判定非常简单,利用滑动窗口来进行最大值最小值的求即可 阅读全文
摘要:
看到这些\(n^{2}\)的并查集,且每次并查集都是连续的,那么我们就可以利用倍增进行并查集(类似st表,贡献可重复问题)。然后我们可以将所有并查集都加进去后在进行下传。比如在P3295中,我们需要算出最后有多少个连通块,那么我们如果[i][k]和[j][k]在一个连通块里,那么[i+(1<<(k- 阅读全文
摘要:
myee讲的题完全听不懂...... 首先题目让我们求的是长度为\(l~r\)的区间且区间和前k大的区间的权值之和。 首先区间和转化为\((sum[r]-sum[l-1])\)那么我们可以对于每个l都插进一个优先队列,发现l固定,那么只要让sum[r]最大即可。这个利用st表维护l~r的sum的最大 阅读全文
摘要:
看P8600题面比较易懂 这种问区间的题目,一般都是枚举右端点,找有多少个符合条件的左端点。然后容易发现一个性质,如果一个区间最大数的下标减区间最小数的下标+1等于区间长度,那么这个区间就是一个连号。所以我们可以动态维护\(max(a_{l},...,a_{r})-min(a_{l},...,a_{ 阅读全文
摘要:
分数规划就是选出一些数使得\(\frac{\sum a_{i}}{\sum b_{i}}\)最大最小的题目,但通常需要转换。下面以找最小首先进行二分答案,那么就是找出一个答案使得\(\frac{\sum a_{i}}{\sum b_{i}}\le k\) \(\sum a_{i}\le k*\sum 阅读全文
摘要:
首先发现如果要变成同一高度,那么花费应该是一个下凹的函数,那么用三分即可 阅读全文
摘要:
首先看到要求的是最少多少天,考虑二分答案变成判定。然后我们可以通过二分求出每个点最晚的种植时间。有一个简单的贪心,就是要求严格的先取,不严格的后取,用邻项交换法易证。然后就做好了 证明 阅读全文