首页 > 其他分享 >2024.3 做题纪要

2024.3 做题纪要

时间:2024-03-19 09:55:05浏览次数:25  
标签:2024.3 log 复杂度 右子 我们 ge 纪要 DP

省选考的一塌糊涂,学了约半个月 whk。

模拟赛不知道有没有比较需要写的,看情况,更新可能很少,主要用来写题解。

目录

2024.3.16

算是开始集训了,虽然还是不知道怎么训更高效点但是先暂时随便训训吧。实在想不到好办法。

把省选 D1T2 和 D2T1 补了。有点绷不住了。两题都没看题解就改完了,怎么说呢,略有点弱智吧。虽然以我场上的状态确实是做不完这两题了。

P10218 [省选联考 2024] 魔法手杖

考虑二分答案,假设最后答案 \(\ge v\),那么所有值都需要 \(\ge v\),注意到 \(a_i + x \ge a_i \oplus x\),也就是说操作后一定更大,那么首先我们必须满足 \(a_i + x \ge v\),否则答案一定不可能 \(\ge v\)。那么我们现在问题变成了,将所有 \(a_i \oplus x < v\) 的 \(i\) 加入 \(S\) 集合,然后看是否能满足 \(m\) 的限制,同时必须满足 \(x \ge v - \min a_i\)。我们记 \(v - \min a_i = l\)。

在 Trie 树上进行考虑,我们要把所有值全部异或一个 \(x\),也就是将若干层的所有结点的左右儿子互换。考虑一层一层考虑,我们要统计的是 \(a_i \oplus x < v\) 的 \(b_i\) 和,假如当前 \(v\) 最高位为 \(1\),那么注意到所有 \(a_i \oplus x\) 的最高位为 \(0\) 的值全部会被统计,也就是说左子树会全部统计上,然后再往右子树递归,同理,如果 \(v\) 最高位为 \(0\),那么右子树全部不会统计,然后再往左子树递归。注意到我们每次只需要往一端递归,所以这样我们就可以得到子任务的结构了。我们可以确定 \(x\) 当前这一位填什么,如果填 \(1\) 那么就是交换当前点的左右子树,然后再根据 \(v\) 的值向左或向右递归。对于 \(x \ge l\) 的限制,我们类似于数位 DP 的处理方法,记录一下当前是否卡下界即可。那么这样我们就可以得到一个单次 \(O(n k)\) 的 DP 了。加上外层的二分,总复杂度 \(O(n k^2)\)。

二分答案看起来就不好优化,考虑优化 DP 的部分。发现问题在于 Trie 树上的二度点太多了,假如我们把它的二度点都压缩起来,点数就是 \(O(n)\) 的了,于是我们只需要把压缩 Trie 搞出来,然后每次能够快速计算一条链上的答案即可。计算链上的答案稍微比较麻烦,因为同时有左右子树、\(v\)、\(l\) 与卡下界这四个信息,不过通过一些精细的位运算处理可以快速计算出这一部分的答案。于是总复杂度就是 \(O(nk)\) 的了。

赛时我写了个 \(O(k(n+k))\) 的做法,我本来以为这和 \(O(nk)\) 是同阶的,但是没想到被出题人阴了一手,具体看 警惕 OI 中的多测陷阱。大概就是因为卡下界的信息处理太麻烦了,我赛时就想到,卡下界的只有一条链,那么把卡下界的暴力 DP,不卡下界的再去考虑就简单很多了,这样单次 DP 是 \(O(n + k)\) 的。唉,抽象了。虽然就算是不卡这个我赛时代码常数仍然很大,赛后又加了一些优化加剪枝才能把大样例跑进 1.5s。

P10220 [省选联考 2024] 迷宫守卫

赛时想这题的时候大脑确实不太活跃,跟我打模拟赛似的,过去半场了脑子才清醒

标签:2024.3,log,复杂度,右子,我们,ge,纪要,DP
From: https://www.cnblogs.com/apjifengc/p/18082003

相关文章

  • q2-生存技能-2024.3.18
    之前相亲的时候那个姑娘(互删微信了)说平时都是在网上买菜直接送到家的,她家是镇上的,我家是村里的,就是说她那边可以打到车,我这边打不到车,不过家里附近有高铁,后来跟着家里送鸡蛋的时候发现拼多多买菜可以送到商店,我就和司机大哥简单聊了两句.我说这个挺方便的还能送到这里,他说是啊,只要......
  • 云原生周刊:Istio 加入 Phippy 家族 | 2024.3.18
    开源项目推荐ko"ko"是一个用于构建和部署Go应用程序的简单、快速的容器镜像构建工具。它适用于那些镜像中只包含单个Go应用程序且没有或很少依赖于操作系统基础镜像的情况(例如没有cgo,没有操作系统软件包依赖)。"ko"在本地机器上通过执行"gobuild"的方式构建镜像,因此不......
  • 2024.3.17 - 3.22
    SunContestLuogu月赛两题/ARC两题比较简单不做题解说明智者的考验【JSOI2012】有一个\(H\timesW\)的矩阵,初始全\(0\),共有\(H+W\)个开关,编号分别为\(1\sim(H+W)\),每一个开关对应一行或一列,操作该开关会将其对应的行/列的数字取反(\(0\to1,1\to0\))。给出一个\(H......
  • 2024.3
    P8037[COCI2015-2016#7]Prokletnik只考虑计算L是minR是max的情况,另一种情况是对称的。考虑维护一个单调递增的单调栈,这样我们就可以维护出当前所有“存活”着的点,然后再考虑用一个线段树维护现在存活的点的最远可行的r。对于不存活的点直接在他不存活的时候把贡献......
  • 动态规划专项训练记录 2024.3
    PathsontheTree若使分数最大,则尽量每条路径都到叶子,看到题目说绝对值差不超过1,可以发现是要尽量平均分配,设余r条路径既然要最大化贡献且剩下的路径要不重复的分配,那就选取前r条从该节点到叶子节点权值和最大的链,递归求取但有一种情况,若在点u选了路径t,在fa再次选择,就会不满......
  • #16 2024.3.11
    糖丸了。638.The2ndUniversalCup.Stage17:JinanD?L没想到吧我先写了这个题。I?A我觉得很神秘的题啊,猜了个结论不知道为什么过了/yun。G?K简单slopetrick。M弱智几何题。E有点意思的flow,但是也挺好想的。B省选2023D1T2的弱化版(?我不太记得那个题了。......
  • q1-投资理财-2024.3.15
    q1-投资理财-2024.3.15​ 兴趣使然,在20岁接触到了股票,虽然没怎么赚钱并且一直都在赔钱,不过在家没有别的盈利能力,股票和期货成为搞钱的内容,期货我想碰的是鸡蛋期货,一般都是12月可能有小幅度上涨,整体一直下跌到2月份,有时候234月都是下跌的,一直到5月份会到底然后上涨到7月8月份,有的......
  • 日记 2024.3.15:2024 年 syzx 春季训练 1
    日记2024.3.15:2024年syzx春季训练1A找出在\(1,2\)周围一圈的点,挑出最远点\(u,v\)(找不到说明\(d_{1,2}=1\)),判一下\(d_{u,v}\)与\(d_{u,2}\)的关系以区分\(\pm1\)。这样比较好看。B普通冒泡\(n(n-1)/2\)次,这题\(n^2\),说明每做一次操作可以浪费一次操作。......
  • 2024.3.14
    按值查找按位置查找链表释放链表逆置......
  • 2024.3.14软件工程日报
    学习安卓开发时间:30分钟代码量:100<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><uses-permissionandr......