• CQOI2018 异或序列 【莫队+xor前缀和】


    CQOI2018 异或序列

    题面见链接。。。(复制过来markdown。。。)

    题解:

    先来总结一下:一般题目中:询问你几个区间 [l,r],并问区间内……答案的数目,而且涉及到前缀和(如:sum 或 xor)

    这样一般来说都往莫队那儿想想,先看看复杂度能不能过 n*sqrt(n)。

    本题因为xor 具有前缀和性质。还需记录一个数组b[i],表示 当前莫队的区间l,r中异或和为 i 的子序列数量。

    当我们需要加入a[x]这个数时,对答案的贡献为b[a[x]^k],因为要是a[x]对答案有贡献,应该a[x] xor m==k -->  m=k^a[x]

    去掉这个数时同理。

    这样莫队就完美A题了。

    fighting fighting fighting!!!

  • 相关阅读:
    数据库
    php
    123
    es5新增
    正则表达式
    cookie
    Event事件下
    事件对象
    dva框架的下拉菜单的父子关系
    dva框架的table表格---删除
  • 原文地址:https://www.cnblogs.com/Frank-King/p/9929174.html
Copyright © 2020-2023  润新知