4.7模拟赛总结

Posted Flame♡

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了4.7模拟赛总结相关的知识,希望对你有一定的参考价值。

好难过,呜呜呜,树套树不配存活于世么

本来看到T1是个ds蛮兴奋的呜呜呜呜

时间安排

7.30-8.30

看题

8.30-9.50

T1 并且过掉了样例

9.50-10.30

T2 60 并且有了一定的拓展想法

10.30-11.50

先造了个T1的数据 发现会re 感觉是没调大栈的原因…

然后试了试1e4可以跑过去之后手写了个快读 但最后犹豫了一下还是没加

然后本来想写T3的十分,区间dp还是可做的,但是细节烦死个人,最后时间不够感觉写不出来,于是就躺了qwq

而且中间还在T2的满分中横条了一会

题目分析

T1

首先考虑直接做,发现线段树+可合并trie+树剖需要3log 不可做(这里的trie不需要可持久 呜呜)

然后考虑改变做法,把修改变成区间修改,查询变成单点查询,直接每个线段树节点维护一颗trie

这样虽然可以让时间复杂度降一个log,但是会导致空间复杂度升一个log

因为没写空间回收 这题又很卡空间 于是愉快re了

我恨

辣鸡离线做法 哼 树套树才是坠强的

T2

考虑 如果只有一位 答案是2

f [ 1 ] = 1 + 1 2 f [ 1 ] f[1]=1+\\frac12f[1] f[1]=1+21f[1]

然后考虑 每个数最多log次之后就一定只剩一位

所以可以记忆化搜索+dp 复杂度是对的,可以拿到60

接着考虑一种做法

我们可以把区间问题转换为前缀之差

(因为这个数据规模显然要考虑整体计算)

接着考虑 如果我们对于对于 r r r 端点 删除它的最高位,把后面的东西记作 s s s

我们本质就会得到 ‘1’+S,S,还有记录最大的 k k k 满足 2 k < r 2^k <r 2k<r之后, ( s , 2 k ] (s,2^k] (s,2k] 这一段

( s , 2 k ] (s,2^k] (s,2k] 这一段可以考虑用同样的前缀方法计算

于是我们最后应该就会得到许多零一段

然后要怎么计算呢…

这个做法感觉很对啊 每次可以让值域缩小一半 应该是log的

T3

不懂 ds+dp?

第二档分是区间dp

以上是关于4.7模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章

7.15模拟赛总结

7.25模拟赛总结

7.25模拟赛总结

7.15模拟赛总结

7.17模拟赛总结

7.17模拟赛总结