首页 > 行业

复盘|第108场双周赛

来源:哔哩哔哩 2023-07-10 21:59:35


(资料图片仅供参考)

最长交替子序列

【分组循环】外层循环枚举子数组起点,内层循环扩展子数组右端点,时间复杂度O(n),空间复杂度O(1)。

重新放置石块

【哈希表 + 模拟】每次操作把moveFrom[i]的石块都移走,按题意模拟。

将字符串分割为最少的美丽子字符串

【DP】由于字符串长度为n,二进制值低于2^n,可以预处理2^n以内的5的幂的二进制表示,记作pow5。定义f[i]为划分从s[i]开始的后缀,最少要划分多少段,枚举pow_5中的字符串t,设其长度为m,如果从s[i]到s[i+m-1]与t相等,那么有f[i] = f[i + m] + 1。

黑格子的数目

【哈希表 + 枚举】如果(x,y)处有黑格子,那么子矩阵左上角在(x-1,y),(x,y-1),(x,y),(x-1,y-1)都是包含这个黑色格子的,统计这些子矩阵中有多少黑色格子。用哈希表vis记录统计过的子矩阵左上角,不含黑色格子的子矩阵个数是(m-1)*(n-1) - len(vis)。

上一篇

纯情情歌

下一篇

最后一页

为你推荐

最新热文