牛客练习赛 129 官方题解(简略)

A 三位出题人

如果我们画一张 m\times n 的表,会发现题目要求等价于,在这张表每个位置填 01,需要满足每列都不全是 0 且都不全是 1,每列相互独立,于是答案为 (2^m - 2)^n

B 数数

1 ~ 1e6 之内的数进行筛质数(埃式筛或线性筛),对于所有质数 p 找出小于 np^m 的个数 cnt,答案为 n - 1 - cnt

C 和天下

枚举 k 的前缀二进制 x,按位与不严格小于其运算的两个数,可以将所有 \geq x 的数全部用并查集合并。

D 搬家

我们可以发现,如果一个收纳箱从第 i 个物品开始装入物品,一定会有一个固定的结束点 to_i,这与前面的物品无关,于是我们可以考虑用倍增优化上述过程,复杂度 O(n\log n)

E Alice and Bod

由于询问一个字符串是否对称,可以使用 hash 维护,对于第二种操作,可以将字符串放到线段树上,但是由于有将一个字符由 z 变为 a 即带模意义下的加法,此时区间覆盖的懒标记不容易使用,但由于字符集合大小只有 26,可以直接存下这 26 种在对应懒标记下的状态,由此解决区间覆盖。时间复杂度 O(26n\log n)

F 网络通路

f_{i, S} 表示 i 为根节点 S 集合节点构成的树的最小权值,为了避免重复计算,我们钦定一棵树只有根节点可以往外连边,可以容易想到枚举 S 的子集和一条边进行转移,复杂度 \mathcal O(m 3^n)

考虑优化上述过程,一条边的贡献仅取决于它两侧的点数,于是我们可以在每轮转移前,预处理每条边对于每种集合的贡献,这样在转移时仅需考虑枚举根节点即可,复杂度 \mathcal O(n 3^n + m 2^n)

全部评论
F题能再具体讲讲吗?看不懂
点赞 回复 分享
发布于 2024-10-24 23:52 河北
你好,C题的输入数据是不是有问题啊?用pypy3提交是按行读取的,但会读取失败,我看其它人的pypy3提交代码也是读取失败,这个输入样例是不是存在错误的换行符?
点赞 回复 分享
发布于 2024-10-11 23:29 广东

相关推荐

秋招结束已经一段时间了 一直在忙着毕业的事情 浅浅总结一下自己的秋招经历吧~本人BG双非硕 后端选手 有一段小厂+腾讯暑期实习腾讯暑期转正loser秋招结束已经结束了有一段时间了总结一下秋招历程最大的感受就是秋招比起暑期更加卡学历秋招总共投了60多家吧一直面 一直挂也投了两家银行科技岗 都走到终面体检了都拒了(总体感觉本地的银行还是挺容易过的)可能本人更想去私企 并且银行也挺卷听说一直到11月就只有一家小厂的offer并签约当保底然后也突然被WXG捞了 本来都不对腾讯抱有希望了可能经过一整个秋招的面试积累吧 以及本人有ACM经历 WXG整体面试以做题偏多(一二面做了5道题 4道hard) 比较合自己胃口 差不多半个月就把五轮面试过了进入录用评估 但也一直没有结果到后面也陆陆续续有几家中厂也终面过泡池子一直到12月初华子给开了base杭州 14a因为华子公积金的原因 和小厂薪资上差距不大 所以也一直犹豫是否毁约签华子 但是内心也还对WXG抱有一丝幻想(虽然一直没有保温也没有任何消息)然后一直到12月中下旬 华子要求去现场签约了 但是WXG还是没有消息 然后就连续发邮件和打电话催了好多次 还是回复耐心等待直到华子签约那天 经过内心挣扎已经决定毁约签华子了 可能还是想平台更大一点吧 然后最戏剧性的一幕来了 就在我发毁约邮件没有5秒 WXG打电话开奖了 并且开奖也十分有诚意 最终还是没有签约成功华子 研究生期间也打了很多次华子的比赛还是对华子有感情的555整个秋招都是伴随着焦虑的 我认为自己也是秋招大部分人的画像 屡屡碰壁后不断怀疑自己 但是可能自己也比较幸运吧 但是也感谢自己在一次次陷入迷茫都没有放弃自己 还是一直努力背八股 刷题也祝各位牛友们共勉 就算暂时没有好的offer 不放弃一定会有好的结果的!!
点赞 评论 收藏
分享
评论
1
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务