杂题选练

一些杂题但可以记录下的。

I P5300 [GXOI/GZOI2019] 与或和

首先我们拆位,然后枚举每一个点 (i,j),考虑将该点作为矩阵的 右下角 的贡献,先考虑 AND,只有矩阵中的值都为 1 时才造成贡献,所以我们考虑记录 (i,j) 左上方最大全为 1 的从左到右 单调非严格递减 的图形,形如楼梯,我们可以先记录 li,j 表示其左边 最长连续 长度(包含其本身),则为了满足 单调性,我们需要找到矩阵面积最大值,可以用单调栈维护,最后答案即为 sk,i,j×2k 的和,k 是拆的位。

OR 类似,可以发现只有矩阵中的值都为 0 时才不造成贡献,可以维护不造成贡献的点,算答案时减去其即为造成贡献的点。

复杂度 O(n2logV)

代码

II P5537 【XR-3】系统设计

树的结构是固定的,所以对于每个点 x,其到根节点的所需序列是固定的,考虑 Hash,有修改,可以考虑线段树维护,对于一个询问 [l,r],我们需要找到最大的 R,使 hax+hal,R 在整棵树中出现过,直接二分是 log2n 的,我们考虑线段树上二分,对于线段树上节点 p 的区间 [pl,pr],若 now+sp 出现过,则往后查询,否则向下递归,并终止,now 是之前记录的 Hash 值,我们需要先递归左子树再递归右子树,复杂度 O(logn)

会卡 Hash,map 常数较大,用 unordered_map 更好,总复杂度 O(qlogn)

自我反思:先思考细节在敲代码,WA 了不要固定思维就是被卡 Hash,仔细检查 : (

代码

posted @   oXUo  阅读(11)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
网站统计
点击右上角即可分享
微信分享提示