[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. 【NOIP 2017】Day2 T3 列队

    Problem Description \(Sylvia\) 是一个热爱学习的女孩子. 前段时间,\(Sylvia\) 参加了学校的军训.众所周知,军训的时候需要站方阵. \(Sylvia\) 所在的 ...

  2. Leetcode167-Two Sum II Input array is sorted-Easy

    Given an array of integers that is already sorted in ascending order, find two numbers such that the ...

  3. Redis 图形化监控方案 RedisLive

    一款开源的 Redis 图形化监控工具,界面如图所示 安装 首先安装python2 一般情况下系统自带 然后安装pip2 https://www.cnblogs.com/sea-stream/p/10 ...

  4. Oracle(转换函数)

    在数据库中主要使用数据类型:字符,数字,日期(时间戳),所以这三种数据类型之间需要实现转换操作. 常用转换函数: 3.1.TO_CHAR()函数 将数据类型变为字符串. 日期格式化标记: 在TO_CH ...

  5. fileInputStream.available()获取 文件的总大小

    available():返回与之关联的文件的字节数 我们用inputStream.available()获取 文件的总大小

  6. 分布式系统的唯一id生成算法你了解吗?

    在分库分表之后你必然要面对的一个问题,就是id咋生成? 因为要是一个表分成多个表之后,每个表的id都是从1开始累加自增长,那肯定不对啊. 举个例子,你的订单表拆分为了1024张订单表,每个表的id都从 ...

  7. 如何在Vue项目中使用vw实现移动端适配(转)

    有关于移动端的适配布局一直以来都是众说纷纭,对应的解决方案也是有很多种.在<使用Flexible实现手淘H5页面的终端适配>提出了Flexible的布局方案,随着viewport单位越来越 ...

  8. 在nodejs中的集成虹软人脸识别

    ==虹软官网地址==http://www.arcsoft.com.cn 在官网注册账号,并且申请人脸识别激活码, 选择SDK版本和运行系统(windows/linux/android/ios) ,我们 ...

  9. Qt的Radio Button(单选按钮)

    1 在UI界面中加入控件 2 对QRadioButton控件进行分组 QRadioButton的分组有多重方法,如采用组合框.QWidge等,下面介绍采用QButtonGroup方法来实现分组,好处是 ...

  10. audio进度条

    如上图所示:为效果图 代码如下: <!doctype html><html> <head> <meta name="author" con ...