题解 | #小苯的序列合并#

小苯的序列合并

https://www.nowcoder.com/practice/6c560ca00b6443df85f93e7348f5ce51

本题核心在于

因此,答案若分为奇数个段(段内取异或,段间取按位与),那么计算结果为1的位置都可以由上述等式改为异或运算,计算结果为0的位置改为异或后结果可能更大。因此,只弄成一个段取异或是奇数情况的最优解。

若分为偶数个段,讨论是类似的,由于偶数个1的异或为0,不能全部改成异或。但是可以将个段的按位与改成异或,和上面讨论类似,结果是更优的。因此,弄成2个段的按位与是偶数的最优。

因此,对于最优的答案,要么分成奇数段,要么分成偶数段,总能落到上面两种讨论中。对于奇数,取全部数的异或即可。对应偶数,由于不确定哪个地方分割出2个段,枚举即可。两种情况比较即可得出答案

全部评论

相关推荐

肥肠椒绿:双非本可不就犯天条了,双非本就应该打入无间地狱
点赞 评论 收藏
分享
03-28 16:43
佛山大学 Java
在度假的布拉德很想退...:你这实习项目写的也太简单了吧?业务加技术难点要体现出来呀,你这写的都不知道具体干了什么
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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