欢迎光临散文网 会员登陆 & 注册

复盘|第323场周赛

2022-12-14 20:30 作者:UCLmsc  | 我要投稿

删除每行中的最大值

【排序】问题等价于把每行排序之后,求每列的最大值。

数组中最长的方波

【暴力枚举】数组元素最小为2,1e5上界,2的平方的子序列长度事实上很短,直接暴力枚举每个起始点,最多循环loglog(max(nums))次。

【记忆化搜索】

设计内存分配器

【数组模拟】用数组表示内存,初始化为0,allocate是找最左侧的连续的长度为size的0,free是从左到右释放id。

矩阵查询可获得的最大分数

【并查集】把矩阵元素和询问都排序,双指针遍历矩阵元素值和询问,如果矩阵元素值小于询问值,把各自和周围四个格子中小于询问值的格子相连,用并查集实现这个过程,同时维护每个连通块的大小,ans = 左上角连通块大小(左上角小于询问值)。

【最小堆】从左上角出发向外搜索,初始把左上角的元素值及其坐标入堆,对每个询问,不断循环,如果堆顶元素值小于询问值,则弹出,继续搜索,循环结束时,出堆的个数就是答案。


复盘|第323场周赛的评论 (共 条)

分享到微博请遵守国家法律