CF617E XOR and Favorite Number

CF617E XOR and Favorite Number

已知一个序列 \(a_1,\ a_2,\ \cdots,\ a_n\)\(k\)\(m\) 次询问给出 \(l,\ r\) ,求 \(\displaystyle\sum_{i=l}^r\sum_{j=i}^r[a_x\oplus a_{x+1}\oplus \cdots \oplus a_y=k]\)

\(n,\ m\leq10^5,\ 0\leq a_i,\ k\leq10^6\)

莫队


重题 bzoj5301 [CQOI2018]异或序列

考虑维护一个异或前缀和,问题就转化为了:区间 \([l-1,\ r]\) 中,有多少对数异或和为 \(k\)。莫队开桶记录即可

注意数组空间大小以及 \(long\ long\)

时间复杂度 \(O(n\sqrt n)\)

#include <bits/stdc++.h>
using namespace std;typedef long long ll;
const int maxn = 1e5 + 10;
int n, m, k, sz, a[maxn], bl[maxn], cnt[maxn * 20]; ll now, ans[maxn];
struct node {int l, r, tid;bool operator < (const node& o) const {return bl[l] != bl[o.l] ? l < o.l : r > o.r;}
} q[maxn];void add(int x) { now += cnt[x ^ k], cnt[x]++; }
void del(int x) { cnt[x]--, now -= cnt[x ^ k]; }int main() {scanf("%d %d %d", &n, &m, &k), sz = sqrt(n);for (int i = 1; i <= n; i++) {scanf("%d", a + i), a[i] ^= a[i - 1], bl[i] = (i - 1) / sz + 1;}for (int i = 1; i <= m; i++) {scanf("%d %d", &q[i].l, &q[i].r), q[i].l--, q[i].tid = i;}sort(q + 1, q + m + 1);int l = 0, r = -1;for (int i = 1; i <= m; i++) {while (q[i].l < l) add(a[--l]);while (q[i].r > r) add(a[++r]);while (q[i].l > l) del(a[l++]);while (q[i].r < r) del(a[r--]);ans[q[i].tid] = now;}for (int i = 1; i <= m; i++) {printf("%I64d\n", ans[i]);}return 0;
}

转载于:https://www.cnblogs.com/Juanzhang/p/10345401.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/463534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2020年文章汇总

据悉&#xff0c;深圳某工程师沦为C语言笔试枪手修改cmdline 把内存改成512MB上拉电阻的作用剖析C语言是如何画出这样的三角形的c语言画谢宾斯基三角形Linux字符设备驱动实例哦&#xff0c;这是桶排序回答一个微信好友的创业问题Linux-C编程 / 多线程 / 如何终止某个线程&#…

不理解Zookeeper一致性原理,谈何异地多活改造

转载&#xff1a;http://developer.51cto.com/art/201805/574334.htm Zookeeper 是最终一致性的&#xff0c;由于多副本&#xff0c;以及保证大多数成功的 Zab 协议&#xff0c;当一个客户端进程写入一个新值&#xff0c;另一个客户端进程不能保证马上就会读到&#xff0c;但能…

作诗一首

只恐花尽老相催&#xff0c;为爱鸬鹚雨里飞。 大珠小珠落玉盘&#xff0c;今日征行何岁归。 今日&#xff0c;在此作诗一首&#xff0c;来抒发一下老周我对心爱的小邢的思念。虽内心迷茫&#xff0c;却仍然坚守&#xff1b;虽征邢之难&#xff0c;偏向邢征行。只为相信曾经——…

一道C#类型转换的思考题

c#中&#xff0c;short s1 1; s1 s1 1;有什么错? &#xff08;真有问题&#xff09;short s1 1; s1 1;有什么错?&#xff08;没问题&#xff09;分析&#xff1a;留给你们。转载于:https://www.cnblogs.com/legecoding/archive/2012/07/23/2604991.html

程序员修炼之道--从小工到专家(一)

这个假期里看了一下这本书&#xff0c;乍一看名字&#xff0c;觉得这就是比较鸡汤类的书吧&#xff0c;但是在看了一部分之后&#xff0c;忽然感觉到&#xff0c;以前的自己真的是很无知&#xff0c;一直就没有认识到做一个真实的项目的困难性&#xff0c;也根本就没有真正的认…

2018年文章汇总

Android ANR 实例分析Linux kernel计算某段代码运行时间Linux Kernel 发展和内核特点C/C函数指针与指针函数(二)老王带你理解算法复杂度O(1),O(N),O(N^2)Android NDK Tombstone/Crash 分析堆和栈的区别&#xff08;转过无数次的文章&#xff09;C语言scanf-周末杂想C语言-scanf…

C++11:右值引用和转移赋值

1、左值与右值的区别&#xff1a; 左值&#xff1a;能别赋值的值&#xff1b;能取到地址的值&#xff0c;用&能取到地址&#xff0c;具有持久性&#xff1b; 右值&#xff1a;临时变量&#xff1b;不能用&取到地址&#xff1b;只是字面常量值 2、右值引用 一般用的…

[备忘]Visual Studio常用小技巧

1. 怎样调整代码排版的格式&#xff1f; 选择&#xff1a;编辑—>高级—>设置文档的格式 或 编辑—>高级—>设置选中代码的格式。 格式化cs代码&#xff1a;Ctrlkf 格式化aspx代码&#xff1a;Ctrlkd 2. 怎样跳转到指定的某一行&#xff1f; 两种方法&#…

Angular CLI的简单使用(1)

参考地址: https://v2.angular.cn/docs/ts/latest/cli-quickstart.html Angular CLI是一个命令行界面工具&#xff0c;它可以创建项目、添加文件以及执行一大堆开发任务&#xff0c;比如测试、打包和发布。 1. 请先在终端/控制台窗口中运行命令 node -v 和 npm -v, 如下图,没有…

在没有数据集的情况下使用数据表

使用数据适配器填充数据表 View Code using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.Data.SqlClient;namespace PopDataTable {class Program{static void Main(string[] args){string connString…

2019年文章汇总

要不要去培训机构深造一下&#xff1f;我一个37岁的程序员朋友Linux内核中的GPIO系统整理的免费资料&#xff0c;帮你年后跳槽C语言&#xff0c;字符串指针做函数参数书籍推荐过年回家抢票攻略C语言&#xff0c;函数不可返回指向栈内存的指针你还会写这段C51程序吗&#xff1f;…

一种简单的LRU cache设计 C++

最近在工作中需要用到LRU cache用作缓存来提高性能&#xff0c;经过查阅各种资料&#xff0c;了解了其运行的机制&#xff0c;如下&#xff1a; LRU cache可以用于在内存中保持当前的热点数据&#xff0c;下面实现一个有大小限制的lru cache&#xff0c;相关如下&#xff1a; …

开博了,喜欢这里的气氛

开博了&#xff0c;喜欢这里的气氛 以后经常写东西 学PHP不久&#xff0c;很多东西需要学习 我的站点 www.zhibowang.cn www.xzld.com转载于:https://www.cnblogs.com/gxphp/archive/2009/04/05/1429819.html

bsgs整理

目录 bsgs问题 或 poj2417&#xff1a;概述代码exbsgs鸣谢 \(gzy gzy gzy\)bsgs问题 或 poj2417&#xff1a; 给定质数\(p\)&#xff0c;给定\(a\),\(b\),\((a,p)1\) 求出最小的整数x&#xff0c;使得\(a^{x}≡b(mod p)\) 概述 由费马小定理可以知道\(a^{xp-1}≡a^{x}≡b(mod p…

两个指针变量可以相减

两个指针变量可以相减转载于:https://www.cnblogs.com/LoveFishC/archive/2012/07/23/3845529.html

linux下修改max_user_processes和open_file的最大值

从事分布式服务器开发工作的都会遇到&#xff0c;linux下open_file的值默认是1024&#xff1b;max user processes的值默认是4096&#xff0c;在实际用于中&#xff0c;这两个值严重不足&#xff0c;常常需要调整这两个值。默认配置如下&#xff1a; 可以通过以下两种方式修改&…

Silverlight 全屏显示

privatevoidFullScreenButton_Click(objectsender, RoutedEventArgs e) { Application.Current.Host.Content.IsFullScreen Application.Current.Host.Content.IsFullScreen?false:true; }转载于:https://www.cnblogs.com/star250/archi…

IP SLA的路径控制

一、定义SLA 服务水平协议&#xff08;简称&#xff1a;SLA&#xff0c;全称&#xff1a;service level agreement&#xff09;是在一定开销下为保障服务的性能和可靠性&#xff0c;服务提供商与用户间定义的一种双方认可的协定。通常这个开销是驱动提供服务质量的主要因素。简…

创业动力衰减 中国面临危险挑战

近日&#xff0c;在翻阅1月份出的一书《赢道&#xff1a;成功创业者的28条戒律》时&#xff0c;对目前国内的创业形势产生了近乎激动的想法。从目前的创业情况看&#xff0c;我认为&#xff0c;中国80年代青年的创业动力正在衰减&#xff0c;对照2005年—2007年间各种创业沙龙如…

【linux】linux系统中常见配置文件及目录说明

1.配置文件/proc/sys/fs/file-nr 里文件里显示三个数字 [rootlocalhost logs]# cat /proc/sys/fs/file-nr 2112 0 2100000已分配文件句柄的数目 已使用文件句柄的数目 文件句柄的最大数目 上面第二项的值为0表示分配的文件…