2023年多校联训NOIP层测试5

没兴趣打这场模拟赛,随随便便打了 10 分钟,就去干别的了(事确实挺多的)。

集训期间模拟赛多,就我来说,还是要多总结,没必要一味的打(纯属我个人观点)。


T1 糖果(水了 10 分)

题目

image

思路

可以发现,如果答案是 YES,那么一定有一种方案只分为两段或三段(更多的段可以采用合并的方式消
除),于是分别判断。

两段只需判断所有数异或和是否为 0,三段只要枚举一个前缀,判断有没有异或和与这个前缀相等的后
缀,在判断一下这个异或和是否等于所有数的异或和(目的是确保中间的一段也相等)。

T2 魔法仪式(没做)

题目

image

思路

考虑经典的分治解决区间数数题的做法,对于一个区间,取中点,计算左端点在中点左边且右端点在中
点右边的方案数,之后递归分治,即可求得答案。

考虑枚举中点后怎么计算,分开考虑最大值在左边和在右边的情况,以在左边的情况为例,从中点向左
枚举左端点,不断维护右端点的可选范围(只需要保证最大值在左边),同时维护数组 num[k] 表示当前
从中点到右边余数为 k 的方案数,这样对于每个左端点,只要在 num 中查询对应的值。

T3 独特的数组(没做)

题目

image

思路

首先十进制和十六进制本质上是相同的,经过妥善处理后可以同时实现。

对于 0 操作,用 ans[r]ans[l1] 求得。考虑数位状压dp,f[i][j] 表示考虑到前i位,当前选择数字的状态是 j
方案数。对于前面的值小于限制的情况,后面的数字可以随便选,是一个组合数,对于恰好等于限制的
情况,枚举这一位填什么递归下去,使用一种记忆化搜索的方式实现。另外还要注意不能有前导0。

对于1操作,只要在 0 操作上加一个二分就可以啦。

T4 约会(水了 5 分)

题目

image

思路

求出每个点到起点和终点的距离,二分答案 w+a+w 的点标记为好的。

如果一条边 (u,v)u 是好的,且 +vw,将v和这条边标记成好的,然后考虑所有好的
边,如果这个图有环则合法,否则如果 b 合法,否则不合法。

求图中停留时间长度:latest[i] 表示在 i 点时的最长停留时间长度,初始时 latest[i]=a+w,然
后在新图中dp即可,latest[v]=max(latest[v],latest[u]+len)。 处理在家停留情况,需要在原图中加一条
11 长度为 0 的边。

结语

失败不是什么丢人的事情,失败的一沓糊涂才是。 ————波波


__EOF__

本文作者GOD_HJ
本文链接https://www.cnblogs.com/GOD-HJ/p/17615896.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   GOD_HJ  阅读(73)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示