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

    竞赛

    • CSP-J/S
    • 蓝桥杯

    考级

    • GESP
    • CPA
    • 电子学会考级
登录
注册
题目详情提交记录(0)
  • 异或路径对 题解

    注意到异或有一个性质,就是异或两次同一个数相当于没有异或,所以对于任意两个点,一个简单路径的异或值和带上很多祖先的异或值其实是相等的。 所以我们可以求出每个点到根节点的异或值,然后枚举计算即可。 边转点。 时间复杂度:O(n2)O(n^2)O(n2)。 注意到瓶颈在于计算异或和,与树无关。所以我们可以不考虑树的部分,只对计算部分进行优化。 考虑拆位。我们可以记录前面的数第 jjj 位为 000 的个数与为 111 的个数,按照 AiA_iAi 的第 jjj 位计算即可。 记得开 __int128。 时间复杂度:O(nlog⁡V)O(n\log V)O(nlogV),其中 V=260V=2^{60}V=260。

    userId_undefined

    复仇者_帅童

    代码纠察员CSP-J一等奖出题人
    4阅读
    1回复
    1点赞
暂无数据

提交答案之后,这里将显示提交结果~

首页