acgo题库
  • 首页
  • 题库
  • 题单
  • 竞赛
  • 讨论
  • 排行
  • 团队
  • 备赛专区

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情题解(0)讨论(0)提交记录(0)
  • 官方题解|添加元素让数组变为好数组

    提示 A⊕A=0A \oplus A = 0A⊕A=0 题目解析 任意数字与自己异或的结果为 000。 令原数组和为 sumsumsum,异或和为 xsumxsumxsum,那么显然我们可以在数组后添加两个元素:xsumxsumxsum 和 sum+xsumsum+xsumsum+xsum。 这样对于添加元素后的数组的和为 (sum+xsum)×2(sum+xsum) \times 2(sum+xsum)×2,异或和为 sum+xsumsum+xsumsum+xsum,满足题目要求。 AC代码 复杂度分析 遍历一遍数组求得 sumsumsum 和 xsumxsumxsum,时间复杂度 O(n)O(n)O(n)。 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    userId_undefined

    AC君

    管理员
    倔强青铜
    14阅读
    0回复
    0点赞
首页