CF1753

CF1753

成功因为虚拟机炸了,重新写一遍此文。

都是没有保存的错

A. Make Nonzero Sum

由于 Note that it is not required to minimize the number of segments in the partition.。考虑每一段最小化……

可以发现,每一段都可以划分为长度为 1 或 2 的段。于是考虑影响。

只有长度为 2 的段会改变正负,不妨令 C+,C 分别表示 1 和 -1 的个数,并假定 1 更多。

不难发现,只需要 |C+C|2 个长度为 2 的即可。

如果不是整数,那么直接判不可以即可。

由于有影响,考虑 DP。

fi 表示考虑前 i 个数,最多能够放多少个长度为 2 的。

于是有

fi=max{fi1fi2+1,ai=1

考虑在 DP 变化的地方放置长度为 2 的即可。

B. Factorial Divisibility

当时脑子抽了,用了两种合并的方法。

详见:https://codeforces.com/contest/1753/submission/211561532

但是实际上只需要通过 x!=x×(x1)! 合成即可(2048……

C. Wish I Knew How to Sort

假定有 C00,并且在前 C0 个数中有 k 个 1。

那么考虑此时一个有效的操作,即是在前 C0 中选择到了一个 1,在后面中选择了一个 0

有效的概率为

Pk=k2(n2)

于是考虑状态转移,设 fk 表示从前 C0 个数中有 k1 的状态转移到 01 的期望步数。

根据 markov 中的期望线性方程求解的方法,有

fk=1+(1Pk)fk+Pkfk1

稍微魔改一下,就变成了:

fk=1Pk+fk1

于是小小递推即可。

然而我当时是反着推的,无所谓,一样的:Submission #211560140 - Codeforces

D. The Beach

转换问题:等价于将两个 . 移动到一起的最小代价。

显然可以发现,一个障碍最多移动一次。

借用大佬的图:

于是我们可以考虑如此建图。跑一个最短路即可。

提交:Submission #211566195 - Codeforces

E. N Machines

非常恶心,虽然不是顶级难度。

最优的策略一定是把乘法向后移,把加法向前移。

思考 It's guaranteed that the current value of the resulting product does not exceed 2x10^9. 的意义。

发现,除去 ×1,最多只会有 logC 个乘法。

于是考虑枚举其子集,为 2logC。所以需要优化。

有一个简单而优雅的剪枝:如果两个数相等,那么一定是选择最前面的。

由于 12!=6227020800>2×109,所以其实最多只会有 O(212) 种状态。

那么在钦定了向后移动的乘法后,我们需要找到前 rest 个移动到前面贡献最大的加法。

考虑二分移动到前面的贡献 Δ,在每一段再二分数量。

考虑如何计算每一个加法的 Δ ?考虑加法移动前,其贡献为 x×sufx,移动后的贡献为 x×prex×sufx

其中 sufxprex 是指乘法移动后,x 前面的乘法前缀积和后面的乘法后缀积。

于是 Δx=x×(prex1)×sufx

NOTICE

  • 二分 Δ 时找到最大的 cnt>rest 的那个 Δ,由于多算了 cntrest 个,并且这些数的贡献一定是 Δ,所以再减去 (cntrest)×Δ 即可。

  • Δ 可能很大很大,所以上界大一点(我用的倍增,所以直接是从 260 开始向下……虽然没必要)

提交:Submission #211609810 - Codeforces

F. Minecraft Series

首先固定一个正方形,考虑贡献:将数分为正数与负数,分别计算 mexpmexn

正的为 positive,负的为 negative

于是贡献为 mexp+mexn1

由于 mex 的单调性,发现包括合法正方形的正方形一定合法,所以考虑双指针维护所在最小合法正方形的。

注意,是在每一条对角线上来一发双指针,这样才能保证复杂度。

然后,然后就搞定了。

可以优化的是,mex 可以利用分块优化复杂度。

于是你可以得到一个复杂度为:

O(nmmin{n,m}+nmk)

的优雅 brute force……

提交:https://codeforces.com/contest/1753/submission/211685792

然而……不断的 TLE 让我怀疑人生,最后发现……

参考:讨论

posted @   jeefy  阅读(19)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示