Codeforces Round #340 (Div. 2) E XOR and Favorite Number(莫队算法)
来源:互联网 发布:人工智能取代数据分析 编辑:程序博客网 时间:2024/05/20 23:34
卿学姐在bilibili上讲的例题
https://www.bilibili.com/video/av4291097/?from=search&seid=3446180275379041786
因为维护的区间是L-1,R,所以下边都是L-1
#include <bits/stdc++.h>using namespace std;typedef long long LL;const int MAXN = 1<<20;LL pos[MAXN];LL Cnt[MAXN],ans[MAXN];int num[MAXN];struct node{ int l,r,id;} Q[MAXN];bool cmp(node a,node b){ if (pos[a.l]==pos[b.l]) return a.r < b.r; return pos[a.l] < pos[b.l];}int n,m,k;int L=1,R=0;LL Ans=0;void add(int x){ Ans+=Cnt[num[x]^k]; Cnt[num[x]]++;}void del(int x){ Cnt[num[x]]--; Ans-=Cnt[num[x]^k];}int main(){ ios::sync_with_stdio(false); cin >> n >> m >> k; int sz=sqrt(n); for (int i=1; i<=n; i++) { cin >> num[i]; num[i]^=num[i-1]; pos[i]=i/sz; } for (int i=1; i<=m; i++) { cin >> Q[i].l >> Q[i].r; Q[i].id=i; } Cnt[0]=1; sort(Q+1,Q+m+1,cmp); for (int i=1; i<=m; i++) { while(L < Q[i].l) { del(L-1); L++; } while(L > Q[i].l) { L--; add(L-1); } while(R < Q[i].r) { R++; add(R); } while(R > Q[i].r) { del(R); R--; } ans[Q[i].id]=Ans; } for (int i=1; i<=m; i++) cout << ans[i] << endl; return 0;}
阅读全文
0 0
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number(莫队算法)
- Codeforces Round #340 (Div. 2)E-XOR and Favorite Number(莫队算法)
- Codeforces Round #340 (Div. 2)E-XOR and Favorite Number(莫队算法)★ ★
- Codeforces Round #340 (Div. 2)E. XOR and Favorite Number(莫队算法)
- Codeforces Round #340 (Div. 2) E XOR and Favorite Number(莫队算法)
- Codeforces Round #340 (Div. 2) 617E XOR and Favorite Number 莫队算法
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 莫队算法
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number —— 莫队算法
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number【莫队算法】
- Codeforces Round #340 (Div. 2) E XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number(分块 (java))
- Codeforces Round #340 (Div. 2) E XOR and Favorite Number(莫队)
- Codeforces Round #340 (Div. 2)-E-XOR and Favorite Number(莫队)
- 【莫队算法】[CodeForces - 617E/Round #340]XOR and Favorite Number
- CodeForces Round#340 E:XOR and Favorite Number(莫队算法)
- caffe学习系列一——图像预处理
- 快捷、方面、好用!令人超赞的ButterKnife8.8.1
- MySQL的常用命令
- Linux探秘之用户态与内核态
- 98DX3236交换机25和27号光口不通的解决办法
- Codeforces Round #340 (Div. 2) E XOR and Favorite Number(莫队算法)
- 2018秋招前端面试回顾(阿里、百度、网易、迅雷、美团等)
- LeetCode week 4 : Median of Two Sorted Arrays
- Java面向对象的封装与继承
- 关于Linux学习的当前目标
- 广告(文案)与营销(市场、传播和创意)
- 7-1 堆栈操作合法性
- ConcurrentHashMap的锁分段技术
- Javadoc简介