cf220b
不知道为什么线段树区间更新专题里有这题。。
可以用莫队解,也可以直接开数组解
/*
n个询问,m个元素
O(m*m):记录每个元素出现次数,筛掉出现次数小于数值的数
*/
#include<iostream>
#include<cstring>
#include<cstdio>
#define maxn 100005
using namespace std;
int a[maxn],tot[maxn],s[maxn];//只要统计十万以内的情况
struct Query{
int l,r,ans;
}q[maxn];//询问
int main(){
int n,m;
while(scanf("%d%d",&m,&n)==){
memset(q,,sizeof q);
memset(s,,sizeof s);
memset(a,,sizeof a);
memset(tot,,sizeof tot); for(int i=;i<=m;i++){
scanf("%d",&a[i]);
if(a[i]<=m)
tot[a[i]]++;
} for(int i=;i<=n;i++)
scanf("%d%d",&q[i].l,&q[i].r); for(int i=;i<=m;i++)//统计值小于m的数的出现次数即可,i是当前值
if(i<=tot[i]){//i不大于其出现次数才能对答案有贡献
for(int j=;j<=m;j++)
s[j]=s[j-]+(a[j]==i);//a[j]等于i
for(int j=;j<=n;j++)
if(s[q[j].r]-s[q[j].l-] == i) q[j].ans++;//区间[l,r]之间的i出现次数等于i
}
for(int i=;i<=n;i++)
printf("%d\n",q[i].ans);
}
return ;
}
cf220b的更多相关文章
- cf220B莫队
用莫队比直接做快了很多.. #include<iostream> #include<cstring> #include<cstdio> #include<cm ...
随机推荐
- dojo.js --dojo Quick Start/dojo入门手册1
我看了http://www.cnblogs.com/mylem/archive/2009/11/11/1600984.html这篇博客以后 ,就开始设计自己的代码,其实很多解释都是在我的代码里,所以就 ...
- 搭建ftp
相信很多人都知道ftp吧.打个比方.在你们公司或者学校里面有一个ftp地址,里面存放了你们所需要的一些常用的资源.这样的话你们就可以随时登录这个ftp来拉取你所需要的资源(在范围内),简单的来说,ft ...
- Springmvc和poi3.9导出excel并弹出下载框
Springmvc 和 poi3.9 用java程序从数据库导出数据到excel(在博客园的第一篇原创博客) @RequestMapping(value = "/importexcel.ht ...
- CM记录-集群主机存储情况
- Hbase记录-HBase基本操作(一)
HBase创建表 可以使用命令创建一个表,在这里必须指定表名和列族名.在HBase shell中创建表的语法如下所示. create ‘<table name>’,’<column ...
- PHP7 学习笔记(九)phpsize动态编译openssl扩展 (微信公众平台)
先吐槽,微信公众平台授权出问题了,尽然访问不了 一.问题描述: 使用PHP中的库函数file_get_contents时出现Unable to find the wrapper "https ...
- Unity3d跨平台原理
知乎的一个提问:unity3d跨平台原理 一些资料: IL IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe ...
- 20155334 2016-2017-2 《Java程序设计》第五周学习总结
20155334 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章:异常处理 Java中所有错误都会被打包为对象,在编程的时候会遇到因各种原因而导致的错 ...
- 第16月第27天 pip install virtualenv ipython sip brew search
1. pip install virtualenv virtualenv testvir cd testvir cd Scripts activate pip https://zhuanlan.zhi ...
- TCP网络编程
TCP网络编程 与UDP不同的是TCP是通过客服端和服务端的方式来传输数据的.客服端:public class TCPClient { /** * @param args * @th ...