答案显然是 O ( log n ) \mathcal O(\log n) O(logn)级别的,并且有很强的单调性。
考虑一轮轮的做,设 F [ i ] [ j ] [ k ] F[i][j][k] F[i][j][k]表示左上角为 ( i , j ) (i,j) (i,j),右上角为 ( i , k ) (i,k) (i,k)的矩形,用不超过 T T T轮最多覆盖多少行。
由 T T T推到 T + 1 T+1 T+1的时候有两种转移,一种容易处理,另一种网上很多题解说要二分,其实可以再设 G [ i ] [ j ] [ k ] G[i][j][k] G[i][j][k]表示左上角为 ( j , i ) (j,i) (j,i),左下角为 ( k , i ) (k,i) (k,i)的矩形,用不超过 T T T轮最多覆盖多少列,这样DP的时候可以交错更新。
时间复杂度
Atcoder agc033D
最新推荐文章于 2023-06-03 12:28:20 发布
该博客探讨了Atcoder竞赛中agc033D问题的解决方案,指出答案的时间复杂度为O(logn)并具有单调性。博主提出通过动态规划(DP)进行一轮轮处理,定义F[i][j][k]表示(i,j)到(i,k)矩形在T轮内能覆盖的行数,同时引入G[i][j][k]表示(j,i)到(k,i)矩形覆盖的列数,实现了交错更新以简化转移。最终得出的时间复杂度为O(n^3 logn)。"
138188783,8395695,Pytorch实现RDN图像超分:保姆级教程,"['超分辨率重建', '深度学习', 'pytorch', '计算机视觉', '图像处理']
摘要由CSDN通过智能技术生成