NOIP模拟赛 czy的后宫3
【题目描述】
上次czy在机房妥善安排了他的后宫之后,他发现可以将他的妹子分为c种,他经常会考虑这样一个问题:在[l,r]的妹子中间,能挑选出多少不同类型的妹子呢?
注意:由于czy非常丧尸,所以他要求在所挑选的妹子类型在[l,r]中出现次数为正偶数,你懂得。
问题简述:n个数,m次询问,每次问[l,r]区间有多少个数恰好出现正偶数次
【输入格式】
第一行3个整数,表示n,c,m
第二行n个数,每个数Ai在[1,c]之间,表示一个Ai类型的妹子
接下来m行,每行两个整数l,r,表示询问[l,r]这个区间的答案
【输出格式】
有m行,表示第i次询问的答案
【样例输入】
5 5 3
1 1 2 2 3
1 5
3 4
2 3
【样例输出】
2
1
0
【数据范围】
共有10组测试数据
1-4组n,m=500,2000,5000,10000,c=1000
5-7组n,m=20000,30000,40000,c=10000
8-10组n,m=50000,80000,100000,c=100000
数据保证随机生成
同小z的袜子
#define LL long long #include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std; const int MAXN=+; struct qnode
{
int l,r,id;
}qu[MAXN]; int n,c,m,block;
int a[MAXN],pos[MAXN];
LL num[MAXN],ans[MAXN],temp; int read()
{
int x=,f=;char ch=getchar();
while(ch<''||ch>''){if(ch=='-')f=-f;ch=getchar();}
while(ch>=''&&ch<=''){x=x*+ch-'';ch=getchar();}
return x*f;
} bool cmp(qnode a,qnode b)
{
if(pos[a.l]==pos[b.l])
return a.r<b.r;
return pos[a.l]<pos[b.l];
} void update(int x,int d)
{
int t=num[a[x]];
num[a[x]]+=d;
if(t%==&&num[a[x]]%==&&num[a[x]]>) temp++;
if(t%==&&num[a[x]]%==&&t>) temp--;
} int main()
{
n=read();c=read();m=read();
block=(int)sqrt(n);
for(int i=;i<=n;i++)
{
a[i]=read();
pos[i]=(i-)/block+;
}
for(int i=;i<=m;i++)
{
qu[i].l=read();qu[i].r=read();
qu[i].id=i;
}
sort(qu+,qu+m+,cmp); int pl=,pr=,id;
for(int i=;i<=m;i++)
{
id=qu[i].id;
if(qu[i].l==qu[i].r)
{
ans[id]=;
continue;
}
if(pr<qu[i].r)
for(int j=pr+;j<=qu[i].r;j++)
update(j,);
else
for(int j=pr;j>qu[i].r;j--)
update(j,-);
pr=qu[i].r;
if(pl<qu[i].l)
for(int j=pl;j<qu[i].l;j++)
update(j,-);
else
for(int j=pl-;j>=qu[i].l;j--)
update(j,);
pl=qu[i].l;
ans[id]=temp;
}
for(int i=;i<=m;i++)
cout<<ans[i]<<endl;
return ;
}
NOIP模拟赛 czy的后宫3的更多相关文章
- NOIP模拟赛 czy的后宫6
czy的后宫6 题目描述 众所周知的是丧尸czy有很多妹子(虽然很多但是质量不容乐观QAQ),今天czy把n个妹子排成一行来检阅.但是czy的妹子的质量实在……所以czy看不下去了.检阅了第i个妹子会 ...
- NOIP模拟赛 czy的后宫4
czy的后宫4 [问题描述] czy有很多妹子,妹子虽然数量很多,但是质量不容乐观,她们的美丽值全部为负数(喜闻乐见). czy每天都要带N个妹子到机房,她们都有一个独一无二的美丽值,美丽值为-1到- ...
- NOIP模拟赛 czy的后宫5
描述 czy要召集他的妹子,但是由于条件有限,可能每个妹子不能都去,但每个妹子都有一个美丽值,czy希望来的妹子们的美丽值总和最大(虽然……). czy有一个周密的电话通知网络,它其实就是一棵树,根结 ...
- NOIP模拟赛 czy的后宫
[题目描述] czy要妥善安排他的后宫,他想在机房摆一群妹子,一共有n个位置排成一排,每个位置可以摆妹子也可以不摆妹子.有些类型妹子如果摆在相邻的位置(隔着一个空的位置不算相邻),就不好看了.假定每种 ...
- 2014-10-31 NOIP模拟赛
10.30 NOIp 模拟赛 时间 空间 测试点 评测方式 挖掘机(dig.*) 1s 256M 10 传统 黑红树(brtree.*) 2s 256M 10 传统 藏宝图(treas. ...
- NOIP模拟赛20161023
题目名 双色球 魔方 czy的后宫 mex 源文件 ball.cpp/c/pas cube.cpp/c/pas harem.cpp/c/pas mex.cpp/c/pas 输入文件 ball.in c ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 【noip模拟赛4】Matrix67的派对 暴力dfs
[noip模拟赛4]Matrix67的派对 描述 Matrix67发现身高接近的人似乎更合得来.Matrix67举办的派对共有N(1<=N<=10)个人参加,Matrix67需要把他们 ...
随机推荐
- 剑指Offer的学习笔记(C#篇)-- 二叉搜索树的后序遍历序列
题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果.如果是则输出Yes,否则输出No.假设输入的数组的任意两个数字都互不相同. 一 . 解题思想与二叉搜索树概念 (1). 二叉树 ...
- Codecraft-17 and Codeforces Round #391 (Div. 1 + Div. 2, combined) A
Bash wants to become a Pokemon master one day. Although he liked a lot of Pokemon, he has always bee ...
- NET Core断点续传
.NET Core断点续传 ASP.NET Core断点续传 在ASP.NET WebAPi写过完整的断点续传文章,目前我对ASP.NET Core仅止于整体上会用,对于原理还未去深入学习,由于有 ...
- Cache中间件和缓存降级
Cache中间件和缓存降级 1.前言 surging受到不少.net同学的青睐,也提了不少问题,提的最多的是什么时候集成API 网关,在这里回答大家最近已经开始着手研发,应该在1,2个月内会有个初版A ...
- NET Core开发
NET Core开发 Visual Studio 2017 ASP.NET Core开发,Visual Studio 2017 已经内置ASP.NET Core 开发工具. 在选择.NET Core ...
- SSRS-lookupSet-DataSet-分组查询
SSRS-lookupSet-DataSet-分组查询 来源:http://www.cnblogs.com/biwork/p/3621885.html 目录:http://www.cnblogs.co ...
- 牛客网Java刷题知识点之为什么static成员方法不能是抽象方法,其必须实现
不多说,直接上干货! static修饰的方法我们称之为静态方法,我们通过类名对其进行直接调用.由于它在类加载的时候就存在了,它不依赖于任何实例,所以static方法必须实现,也就是说它不能是抽象方法.
- PHP+Mysql+jQuery找回密码
通常所说的密码找回功能不是真的能把忘记的密码找回,因为我们的密码是加密保存的,一般开发者会在验证用户信息后通过程序生成一个新密码或者生成一个特定的链接并发送邮件到用户邮箱,用户从邮箱链接到网站的重置密 ...
- 微信小程序tabBar显示问题
在微信小程序的开发中,我遇到疑惑如下: 在app.json中定义了多个pages,一般微信小程序启动的时候,自动加载pages下的第一个页面, "pages": [ ...
- Aspose.word直接转pdf
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...