11.26 模拟赛

复盘

T1。好难好难。先写了 O(n2) DP,但是没有任何前途。

尝试瞎推式子瞎猜性质。过了很久发现想得太复杂了。2h 过大样例。对拍。

T2。发现有 20 分很容易。这两个性质怎么做?

然后想性质时发现会正解了。好激动,赶紧写。

虽然细节挺多但是基本没调。T2 用了不到 1h。看起来大样例挺强就不对拍了。

T3 没任何思路。先把暴力写了看 T4。

T4 好神奇,竟然下发了 checker.cpp(虽然我不会用)。

直接模拟冒泡排序就能拿到 10 分。先写了。

发现还有 1h。想 T3 还是 T4?

算了想 T4 吧,这么有趣的题很少见。

尝试 n=8。发现可以拆成两个 n=4n=4 的方法样例给了,用 4 步。但是怎么合并?

仿照归并排序肯定不行。

然后又是瞎试了一会,发现有个很简单的用 4 步合并的方法。这样 n=8 就能做到 8 步。能得 8 分……?太赚了太赚了。继续想别的测试点。

n=13 质数肯定不好做。n=16?这不跟上面一样,拆成两个 n=8 的,然后再用 8 步合并?

n2 的幂的是不是都能这样做。算一下……总共 26 分!

因为给的 checker.cpp 不会用所以我自己根据题意手写了一个。很快调完了。

还有 20min。继续做 T4 发现怎么优化这个算法都和冒泡排序一样分(1 分)。

检查了一下就交了。

100+100+12+26=238。没挂分。

总结

好的:

  • 没挂分(这场不挂分真挺难的)
  • T4 得到的部分分很多

不足:

  • T1 花的时间有点久。尽管最后时间并没有十分紧张。

知识点

T1:数学,贪心

T2:set,线段树,贪心

题解

A. 邻间的骰子之舞

为了方便,让整个过程结束后再复制一次。

令我们在有 a1,a2,,am 个字符时进行了复制操作。需要满足:

  • 1=a1<a2<<am
  • amn
  • aimodai1=0

那么答案为 mx+yi=2maiai1ai1

化简一下 (m1)(xy)+yi=2maiai1

ki=aiai1k1=a1

注意到 am=i=2mki。所求是 i=2mki。问题变成了:

m1 个数,使得乘积 n 且和最小。求这个最小和。

二分判断:

是否存在 m 个数,使得其和 mid,且乘积 n

和一定,差小积大。肯定先平均分。剩下的能铺多少铺多少。

B. 星海浮沉录

若答案为 0,则意味着数组中离得最近的两个 0 中间的数的数量 x

在答案不为 0 的情况下,若答案为 1,则意味着数组中离得最近的两个 1 中间的数的数量 x

pi 表示数组中离得最近的两个 i 中间的数的数量。那么答案为最小的满足 pixi

用 set 维护这个 p,那么找到答案可以线段树上二分。

posted @   2huk  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
点击右上角即可分享
微信分享提示