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

小苯的序列合并

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

本题核心在于

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

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

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

全部评论

相关推荐

最喜欢秋天的火龙果很...:第一份工作一定要往大的去,工资低点没事。后面换工作会更好找,即使你去小公司,你也不可能不会换工作的。所以找大的去
点赞 评论 收藏
分享
二十岁的编程男神王大...:读博吧兄弟,你这绩点太好了,何必转码,另外哈哈哈真见到有括号标出来985的,这个不标注也知道吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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