2020-2021:teams:farmer_john:jjleo:codeforces_round_655_div._2_virtual_participation
这是本文档旧的修订版!
rank:737
A
B
C
D
E
题解:区间dp,设$f_{i,j}$为区间$[i,j]$的物品数量平方和最大值,转移时考虑将尽量多的物品放到同一列上:$f_{i,j}=f_{i,k-1}+x+f_{k+1,j}$,其中$x$为所有包含第$k$列的区域中被完全包含于$[i,j]$的数量。
F
题意:交互题。一个未知的长度为$n$的排好序的序列,一共有$k$个不同的数($k$未知),你需要经过不超过$4k$次询问得到这个序列。每次询问一个区间,返回这个区间中出现次数最多的数及其出现的次数,如果有多个数满足条件,返回最小的那个。$(1 \le n \le 2 \cdot 10^5,1 \le k \le \min(25000,n))$
题解:考虑先处理$[1,n]$里出现次数最多的数,设其所处区间为$[l,r]$,则再分别处理$[1,l-1],[r+1,n]$,以此类推,直到所有区间都处理完毕。我们只需保证对每一种数字做$4$次询问得到其出现的准确区间即可保证最多进行$4k$次询问。考虑对于区间$[l,r]$如何处理:
2020-2021/teams/farmer_john/jjleo/codeforces_round_655_div._2_virtual_participation.1594960929.txt.gz · 最后更改: 2020/07/17 12:42 由 jjleo