百度之星 2023 初赛第三场

开场很顺利,一度进了前十
《与蝴蝶一起消散吧》一开始没看到每波怪物的血量一样,浪费了一些时间
《染色游戏》做了 1h,思路很快就有了但想不清楚计数细节。第一次 WA 了后写了暴力,调过手造的数据后又 WA 了,然后才写拍。感觉还是得拍,不过计数题也不归我管(
一开始以为《魔法阵》是分治板子,后来发现不会找欧几里得距离最远的点
《竞猜》冲了个 log2 做法,最后 5min 调完了但 MLE,才看到 64MB。不过赛后把空间卡下去了也 TLE


码题集

染色游戏

赛时做法

讨论 2×2 网格的所有情况,发现行满足时列一定满足

枚举有 i 行相同,其余 ni 行与这 i 行相反(i<ni),可以解出这 i 行每行有 x1,方案数为 (ni)(mx)

对于 i=ni 的情况:枚举这 i 行有 x1 计算。注意 x=kixni 的情况只有一半是本质不同的

代码没保存

标算

讨论 2×2 网格的合法情况,发现 1 的个数为 0,2,4(所以第一行第一列确定后可以把其他格子唯一地填出来,不过没有用)

令第一列第 i 行为 a[i],第 j 列与第一列是否相同为 b[j],那么格子 (i,j)a[i]b[j]。显然合法矩阵可以被唯一地构造出来,根据上面的结论构造出来的矩阵也一定合法

问题转化为了求 a,b 的方案数。枚举 a1 的个数,可以解出 b 中的。需要特判 b 中任意个 1 都可以的情况

两种做法各有优劣,个人认为能想清楚细节的话还是我的做法比较自然

竞猜

不考虑夺冠奖励的话一定是 b 小的获胜,钦定 u 获胜的话除根链外的子树仍满足这个性质

线段树维护 b[u] 表示子树 b 的最小值,t[u,0/1] 表示冠军不在/在子树 u 的最小收益。时间复杂度 O(nlogn)

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