牛客小白月赛 49 官方题解 & 赛后彩蛋
A
异或也叫半加运算,其运算法则相当于不带进位的二进制加法:二进制下用 表示真, 表示假,则异或的运算法则为:,,,(同为 ,异为 ),这些法则与加法是相同的,只是不带进位,所以异或常被认作不进位加法。
假定相同位上分别是 和 , 那么在 进制下 不进位加法的结果: 取模运算 %
B
注意到 and 运算意味着取交集,or 意味着取并集,因此 and 和 or 结合后就相当于找出集合 满足: 是 的子集且 是 的子集,因此 。
据此原式即为 。
C
暴力模拟即可通过本题。
另外由于 bitset 可以快速处理类似的运算,合理利用可以简化码量。
综上本题可以有:①暴力;②bitset;③map作桶 大致三种办法,经过内测群讨论,放宽时限后都可以通过。
D
首先根据二次函数图象答案很明显是 :第一种方法是 的公式为 代入硬算,第二种方法是由于整个式子化出来可以预测是一个三次式,因此试根法可以得到最后的答案为::。
E
倒着考虑每一个位置的情况即可:对于第 个位置,分两种情况,一则从这个点开始,则战斗力必须大于等于该点;二则从它的“前”面开始,则战斗力必须满足加上前面的点后大于等于该点。后者可以转化成战斗力逐渐递减,则本题解决。
F
观察性质,可以发现第一次 M
操作之后的所有子树两边对称。
因此可能的直径只会有这两种情况:
- 以第一次
M
操作的父亲结点为根,向两头延伸到某两个最深结点。 - 整棵树从上到下拎一遍(结果钦定为 )。
最终查找第一个 M
字符的位置并列式计算即可。
Summary
E、F 两个题讲评的时候会具体讲解一些文字较难表达清楚的内容,敬请期待。
总体来讲还是思维场,如果你 C 题想不到 bitset 或者 D 题想不到试根,可能需要稍微多花一点时间。
彩蛋
题目标题来自某游戏中罗汉堂法印名称(排列顺序相同)。
另外出题人虽然喜欢听佛曲但可能没到信奉佛教那一步(
Problem A
其实原版的 A 题是咱们的 C 题。
然后后面的题里边还有一个很牛逼的题(
Problem B
其实原版的 B 题时限是 1s,所以大家的暴力有的就过不去了。
其实是内测群经过讨论认为应该给小白多一点 AC 题目的机会(
Problem C
C 题里面的 Boss 大人其实是:
这老哥的属性和题目标题相同,说起来我也是写到这里才发现的(
Problem D
思路来源:高二数学全品练习册。
所以做不对的同学快去打死出版商(
Problem E
E 题里面的公主其实是:
因为公主太可爱了所以放两张图来了
就……其实吧,我觉得这个骑士是我见过最舔的舔狗(
看到公主真身是不是不想救了(
Problem F
祭出 八仙敬酒 系列出题人认为难度最高题。
其实也没有那么难对不对(