Warning: session_start(): open(/tmp/sess_d2b6228472a2dacceb5554cb9fb31766, O_RDWR) failed: No space left on device (28) in /data/wiki/inc/init.php on line 239

Warning: session_start(): Failed to read session data: files (path: ) in /data/wiki/inc/init.php on line 239

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/auth.php on line 430
Writing /data/wiki/data/cache/d/de2edb2fcb553ea79b79c722a4e13dbc.captchaip failed

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/inc/actions.php on line 38

Warning: Cannot modify header information - headers already sent by (output started at /data/wiki/inc/init.php:239) in /data/wiki/lib/tpl/dokuwiki/main.php on line 12
2020-2021:teams:farmer_john:2020hdu暑期多校第二场 [CVBB ACM Team]

用户工具

站点工具


2020-2021:teams:farmer_john:2020hdu暑期多校第二场

到此差别页面的链接

两侧同时换到之前的修订记录 前一修订版
后一修订版
前一修订版
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)$
2020-2021/teams/farmer_john/2020hdu暑期多校第二场.1596211277.txt.gz · 最后更改: 2020/08/01 00:01 由 bazoka13