[Codeforces Round #340 (Div. 2)]

vp了一场cf。。(打不了深夜的场啊!!)

A.Elephant

水题,直接贪心,能用5步走5步。

B.Chocolate

乘法原理计数,统计连续的“0”到下一个“1”的个数,然后相乘(第一个1前面的0不能算上)。当然还要特判全0的情况。

C.Watering Flowers

这题1A。只要按照以到某一个喷泉的距离排序,然后枚举没有被这一个喷泉覆盖到的个数,然后通过第二个喷泉覆盖,贪心一下就好了。

D.Polyline

题意杀,还以为是计算几何。由于这些折线只能平行于x,y轴,所以只要分类讨论一下就行。

三点x坐标相同或y坐标相同就输1。

如果两点x(y)坐标相同,如果另一个点的y(x)坐标在他们的同侧(相等也可以),那么就是输出2。

如果两点x(y)坐标相同,如果另一个点的y(x)坐标在他们的异侧(相等不可以),那么就是输出3。

其他情况也是3。

E.XOR and Favorite Number

很遗憾没有在规定时间内想出来。

由于xor特殊性质,设s[i]=a[1]^a[2]^...a[i],则a[l]^a[l+1]^...^a[r]=s[l-1]^s[r]

我们发现,如果我们知道(l,r)的答案(l-1,r)和(l,r+1)的答案也就知道了。

比如推得(l-1,r),只要将cnt+=c[s[l-1]^k in](in l..r)就行了。

显然,这可以通过莫队来实现。。。

 #include<bits/stdc++.h>
 #define LL long long
 using namespace std;
 ,W=;
 int n,Q,k,a[N],blo;
 LL ans[N],c[W],cnt;
 struct que {
     int l,r,i;
     bool operator < (const que &u) const {
         return l/blo==u.l/blo?r<u.r:l<u.l;
     }
 }q[N];
 inline int read() {
     ; char ch=getchar();
     ') ch=getchar();
     ')
         x=(x<<)+(x<<)+ch-',ch=getchar();
     return x;
 }
 void add(int p) {cnt+=c[a[p]^k],c[a[p]]++;}
 void remove(int p) {c[a[p]]--,cnt-=c[a[p]^k];}
 int main() {
     n=read(),Q=read(),k=read(),blo=sqrt(n),a[]=;
     ; i<=n; i++) a[i]=a[i-]^read();
     ; i<=Q; i++)
         q[i].l=read(),q[i].l--,q[i].r=read(),q[i].i=i;
     sort(q+,q++Q);
     ,curr=; cnt=,c[]=;
     ; i<=Q; i++) {
         while (curl>q[i].l) add(--curl);
         while (curr<q[i].r) add(++curr);
         while (curl<q[i].l) remove(curl++);
         while (curr>q[i].r) remove(curr--);
         ans[q[i].i]=cnt;
     }
     ; i<=Q; i++) printf("%lld\n",ans[i]);
     ;
 }

E

[Codeforces Round #340 (Div. 2)]的更多相关文章

  1. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 莫队算法

    E. XOR and Favorite Number 题目连接: http://www.codeforces.com/contest/617/problem/E Descriptionww.co Bo ...

  2. Codeforces Round #340 (Div. 2) C. Watering Flowers 暴力

    C. Watering Flowers 题目连接: http://www.codeforces.com/contest/617/problem/C Descriptionww.co A flowerb ...

  3. Codeforces Round #340 (Div. 2) B. Chocolate 水题

    B. Chocolate 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co Bob loves everyt ...

  4. Codeforces Round #340 (Div. 2) A. Elephant 水题

    A. Elephant 题目连接: http://www.codeforces.com/contest/617/problem/A Descriptionww.co An elephant decid ...

  5. Codeforces Round #340 (Div. 2) D. Polyline 水题

    D. Polyline 题目连接: http://www.codeforces.com/contest/617/problem/D Descriptionww.co There are three p ...

  6. 「日常训练」Watering Flowers(Codeforces Round #340 Div.2 C)

    题意与分析 (CodeForces 617C) 题意是这样的:一个花圃中有若干花和两个喷泉,你可以调节水的压力使得两个喷泉各自分别以\(r_1\)和\(r_2\)为最远距离向外喷水.你需要调整\(r_ ...

  7. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number 【莫队算法 + 异或和前缀和的巧妙】

    任意门:http://codeforces.com/problemset/problem/617/E E. XOR and Favorite Number time limit per test 4 ...

  8. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number —— 莫队算法

    题目链接:http://codeforces.com/problemset/problem/617/E E. XOR and Favorite Number time limit per test 4 ...

  9. Codeforces Round #340 (Div. 2) E. XOR and Favorite Number (莫队)

    题目链接:http://codeforces.com/contest/617/problem/E 题目大意:有n个数和m次查询,每次查询区间[l, r]问满足ai ^ ai+1 ^ ... ^ aj ...

随机推荐

  1. NOIP2018退役祭

    退役感受 在写下这个标题的时候,我的心情是复杂的,无非就是感觉像对一位将要赶往战场的士兵说:"你的战争已经输掉了." 退役了,没有什么好说的.无论再怎么抱怨这题出的真烂也无法改变了 ...

  2. Linux下清空或删除大文件内容的2种方法

    在Linux终端下处理文件时,有时候我们想要直接清空文件的内容时但又不用使用任何Linux命令行编辑器,去打开这些文件.那如何才能达到这个目的呢? 1.通过重定向到NULL来清空文件内容 清空或者让一 ...

  3. mac终端不好用?用brew神器代替

    一.概念 Brew是一款Mac OS平台下的软件包管理工具,拥有安装.卸载.更新.查看.搜索等很多实用的功能.简单的一条指令,就可以实现包管理,而不用你关心各种依赖和文件路径的情况,十分方便快捷. 官 ...

  4. Javascript 垃圾回收机制

    转载于https://www.cnblogs.com/zhwl/p/4664604.html 一.垃圾回收的必要性 由于字符串.对象和数组没有固定大小,所有当他们的大小已知时,才能对他们进行动态的存储 ...

  5. _killerstreak

    `count`连杀或终结连杀的数量(最大支持10个) `announceFlag` 0-不广播1-只广播连杀消息2-只广播终结连杀消息3-广播连杀与终结连杀消息 `rewId` 连杀奖励模板Id,对应 ...

  6. Java SE LinkedList的底层实现

    关于实现链表的底层原理 链表便于增删,不便于查询 package com.littlepage.linkedList; /** * 基于底层实现LinkedList * @author Littlep ...

  7. XML简单入门

    1.xml文件的第一句为<?xml version="1.0" ?> xml 1.0版本和1.1版本有较大不同,且1.1版本向下不可兼容,故使用version 1.0 ...

  8. 关于vue2.0获取后端数据

    一.通过vue-rource完成异步请求: 其用法跟ajax用法差不多,也就是改变了一些语法格式.从获取路径到值的获取都是一样的,但是有一点是不同的就是ajax获取到的数据会自动转成json格式,而v ...

  9. 对象反序列化出现类型不匹配的情况(spring-boot-devtools)

    目前在做springboot项目的shiro session redis共享功能.但是有一个对象我把它放到redis中之后再取出来就会出现类型不匹配的异常 AuthorizationUser user ...

  10. 手动增删windows 服务和dll函数

    ①注册windows服务 sc create "服务名AAA" binPath= "安装目录\AAA.exe" displayname= "服务显示名 ...