不知道为什么线段树区间更新专题里有这题。。

可以用莫队解,也可以直接开数组解

/*
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的更多相关文章

  1. cf220B莫队

    用莫队比直接做快了很多.. #include<iostream> #include<cstring> #include<cstdio> #include<cm ...

随机推荐

  1. dojo.js --dojo Quick Start/dojo入门手册1

    我看了http://www.cnblogs.com/mylem/archive/2009/11/11/1600984.html这篇博客以后 ,就开始设计自己的代码,其实很多解释都是在我的代码里,所以就 ...

  2. 搭建ftp

    相信很多人都知道ftp吧.打个比方.在你们公司或者学校里面有一个ftp地址,里面存放了你们所需要的一些常用的资源.这样的话你们就可以随时登录这个ftp来拉取你所需要的资源(在范围内),简单的来说,ft ...

  3. Springmvc和poi3.9导出excel并弹出下载框

    Springmvc 和 poi3.9 用java程序从数据库导出数据到excel(在博客园的第一篇原创博客) @RequestMapping(value = "/importexcel.ht ...

  4. CM记录-集群主机存储情况

  5. Hbase记录-HBase基本操作(一)

    HBase创建表 可以使用命令创建一个表,在这里必须指定表名和列族名.在HBase shell中创建表的语法如下所示. create ‘<table name>’,’<column ...

  6. PHP7 学习笔记(九)phpsize动态编译openssl扩展 (微信公众平台)

    先吐槽,微信公众平台授权出问题了,尽然访问不了 一.问题描述: 使用PHP中的库函数file_get_contents时出现Unable to find the wrapper "https ...

  7. Unity3d跨平台原理

    知乎的一个提问:unity3d跨平台原理 一些资料: IL IL是.NET框架中中间语言(Intermediate Language)的缩写.使用.NET框架提供的编译器可以直接将源程序编译为.exe ...

  8. 20155334 2016-2017-2 《Java程序设计》第五周学习总结

    20155334 2016-2017-2 <Java程序设计>第五周学习总结 教材学习内容总结 第八章:异常处理 Java中所有错误都会被打包为对象,在编程的时候会遇到因各种原因而导致的错 ...

  9. 第16月第27天 pip install virtualenv ipython sip brew search

    1. pip install virtualenv virtualenv testvir cd testvir cd Scripts activate pip https://zhuanlan.zhi ...

  10. TCP网络编程

    TCP网络编程  与UDP不同的是TCP是通过客服端和服务端的方式来传输数据的.客服端:public class TCPClient { /**     * @param args     * @th ...