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

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

/*
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. Unity NavMesh导航网格 初级教程

    目的:要实现的功能就是你点击一下地图上的某个地方,人物就向着那个点移动.有点自动寻路的味道.  例子:三国群英传,三国赵云传之类的游戏里面的人物移动就可以用这个实现.还有一个我不太喜欢玩的游戏英雄联盟 ...

  2. java通过当前请求得到访问者ip的工具类

    在我们开发的过程中,也许有下面的这样的需求,就是要记录一下每次访问服务器的ip,需要存到数据库,以便以后进行数据分析等... 下面给大家介绍一个通过当前请求得到访问者ip的工具类 IpUtil.jav ...

  3. 《超哥带你学Linux》

    前言 “Linux?听说是一个操作系统,好用吗?” “我也不知道呀,和windows有什么区别?我能在Linux上玩LOL吗” “别提了,我用过Linux,就是黑乎乎一个屏幕,鼠标也不能用,不停地的敲 ...

  4. spring @Entity @Table

    import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; impor ...

  5. UVALive 7143 Room Assignment(组合数学+DP)

    题目链接 参考自:http://www.cnblogs.com/oyking/p/4508260.html 题意 n个人,其中有k对双胞胎.现有m间房间,每间房间有容量ci问分配房间的方案数. 分析 ...

  6. Html-Css 从入门到放弃(一)基础知识

    注意要点: 1.ID属性不要以数字开头,数字开头的ID在 Mozilla/Firefox 浏览器中不起作用. 2.class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,clas ...

  7. Spring集成mybatis时mybatis的映射XML配置

    <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...

  8. 01-单一职责原则(SPR)

    1. 背景     类T负责两个不同的职责:职责P1,职责P2.当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障. 2. 定义     不要存在多于一个导致类 ...

  9. 按某个属性排序(字典序,ascII) js/python

    javascrapy方法 var compare = (prop)=>{ return (a,b)=>{ : - } } javascrapy测试代码 var aaa = [ {name: ...

  10. Python基础(正则、序列化、常用模块和面向对象)-day06

    写在前面 上课第六天,打卡: 天地不仁,以万物为刍狗: 一.正则 - 正则就是用一些具有特殊含义的符号组合到一起(称为正则表达式)来描述字符或者字符串的方法: - 在线正则工具:http://tool ...