Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
来源:互联网 发布:android 无法修改mac 编辑:程序博客网 时间:2024/05/23 19:43
莫队,贴一个关于莫队讲解的好文章。http://blog.csdn.net/bossup/article/details/39236275
#include <cstdio>#include <algorithm>#include <cmath>using namespace std;typedef long long ll;const int maxn = 100100;int n, m, k;int num[maxn], block[maxn];ll ans[maxn];int cnt[2000100];struct query{ int l, r, id;}node[maxn];int cmp(query A, query B){ if (block[A.l] == block[B.l]) return A.r < B.r; else return A.l < B.l;}int main(){ scanf("%d%d%d", &n, &m, &k); int block_size = sqrt(n); num[0] = 0; for (int i = 1; i <= n; i++) { scanf("%d", &num[i]); num[i] ^= num[i - 1]; block[i] = i / block_size; } for (int i = 0; i < m; i++) { scanf("%d%d", &node[i].l, &node[i].r); node[i].l--; node[i].id = i; } sort(node, node + m, cmp); int l = 1, r = 0; ll tmp = 0; for (int i = 0; i < m; i++) { while (r < node[i].r) { r++; tmp += cnt[num[r] ^ k]; cnt[num[r]]++; } while (r > node[i].r) { cnt[num[r]]--; tmp -= cnt[num[r] ^ k]; r--; } while (l < node[i].l) { cnt[num[l]]--; tmp -= cnt[num[l] ^ k]; l++; } while(l > node[i].l) { l--; tmp += cnt[num[l] ^ k]; cnt[num[l]]++; } ans[node[i].id] = tmp; } for (int i = 0; i < m; i++) printf("%I64d\n", ans[i]); 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) E. XOR and Favorite Number(分块 (java))
- Codeforces Round #340 (Div. 2)E - XOR and Favorite Number(Mo's algorithm)
- 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【莫队算法】
- 【莫队算法】[CodeForces - 617E/Round #340]XOR and Favorite Number
- 左右来回移动的流水灯
- Linux 访问日志统计某个字段并排序功能
- (新手向)教你如何搭建简易pyspider服务器
- poj 3414 Pots (优先队列)
- OpenWrt 自学笔记(3)------openwrt包制作
- Codeforces Round #340 (Div. 2) E. XOR and Favorite Number
- 详解iPhone开发之Objective-C和 C 混编
- Show Processlist
- 新建联系人
- ubuntu 配置安装vsftpd
- Android Audio System 之一:AudioTrack如何与AudioFlinger交换音频数据
- OpenWrt 自学笔记(4)------交叉编译SQLite3
- Objective-C和C++混编的要点
- USACO-Section 2.3 Money Systems(DP)