两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
2020-2021:teams:farmer_john:2020hdu暑期多校第二场 [2020/08/01 00:01] bazoka13 |
2020-2021:teams:farmer_john:2020hdu暑期多校第二场 [2020/10/07 21:24] (当前版本) jjleo |
||
---|---|---|---|
行 1: | 行 1: | ||
- | ======比赛名称====== | + | ======2020HDU暑期多校第二场====== |
[[https://codeforces.com/gym/288624|比赛链接]] | [[https://codeforces.com/gym/288624|比赛链接]] | ||
=====A.===== | =====A.===== | ||
行 10: | 行 10: | ||
我们考虑将 $b_i$ 从大到小排序,对于扫到的点我们只考虑比当前枚举的 $b_i$ 大的点。先将 $b_i$ 加入答案,如果此时不在一个联通块中将其合并,并且可以从答案中减去 $b_i$,因为在考虑过这个点之后比他大的点就可以少操作 $b_i$ 次,用并查集维护联通即可。 | 我们考虑将 $b_i$ 从大到小排序,对于扫到的点我们只考虑比当前枚举的 $b_i$ 大的点。先将 $b_i$ 加入答案,如果此时不在一个联通块中将其合并,并且可以从答案中减去 $b_i$,因为在考虑过这个点之后比他大的点就可以少操作 $b_i$ 次,用并查集维护联通即可。 | ||
=====B.===== | =====B.===== | ||
- | **solved by** | + | **upsolved by** |
====题意==== | ====题意==== | ||
行 55: | 行 55: | ||
考虑函数不增不删只有数次询问的情况,可以发现这些函数都是$f(x)=x^4$进行平移得来,两两只会相交一次并在此处改变大小关系,因此可以类似决策单调性dp中的二分栈,维护出每个区间的最优函数,对于每个询问只需二分找到对应区间即可获得答案。但本题有函数的增删,因此可以再套一个线段树分治,对每一层都来一次上述过程,处理区间中所有的询问,而每个询问只需取最小值即可。这样每个询问被处理$O(\log n)$次,每个函数被处理$O(\log n)$次,总复杂度$O(n \log ^2 n)$。(一开始把所有函数和询问全在叶子节点处理,直接白分治了) | 考虑函数不增不删只有数次询问的情况,可以发现这些函数都是$f(x)=x^4$进行平移得来,两两只会相交一次并在此处改变大小关系,因此可以类似决策单调性dp中的二分栈,维护出每个区间的最优函数,对于每个询问只需二分找到对应区间即可获得答案。但本题有函数的增删,因此可以再套一个线段树分治,对每一层都来一次上述过程,处理区间中所有的询问,而每个询问只需取最小值即可。这样每个询问被处理$O(\log n)$次,每个函数被处理$O(\log n)$次,总复杂度$O(n \log ^2 n)$。(一开始把所有函数和询问全在叶子节点处理,直接白分治了) | ||
=====I.===== | =====I.===== | ||
- | **upsolved by ** | + | **solved by ** |
====题意==== | ====题意==== | ||
行 73: | 行 73: | ||
=====L.===== | =====L.===== | ||
- | **upsolved by JJLeo** | + | **solved by JJLeo** |
====题意==== | ====题意==== | ||
给定两个字符串$s$和$t$,$q$次询问$s$一个子串和$t$的距离。字符串的距离定义为每次操作可以选择两个字符串之一,删除任意一个字符,或在任意位置添加一个字符,最少的次数将两个字符串变为一样。$(|s|,q \le 10^5, |t| \le 20)$ | 给定两个字符串$s$和$t$,$q$次询问$s$一个子串和$t$的距离。字符串的距离定义为每次操作可以选择两个字符串之一,删除任意一个字符,或在任意位置添加一个字符,最少的次数将两个字符串变为一样。$(|s|,q \le 10^5, |t| \le 20)$ |