博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 221 D. Little Elephant and Array
阅读量:6632 次
发布时间:2019-06-25

本文共 1879 字,大约阅读时间需要 6 分钟。

D. Little Elephant and Array
time limit per test
4 seconds
memory limit per test
256 megabytes
input
standard input
output
standard output

The Little Elephant loves playing with arrays. He has array a, consisting of n positive integers, indexed from 1 to n. Let's denote the number with index i as ai.

Additionally the Little Elephant has m queries to the array, each query is characterised by a pair of integers lj and rj (1 ≤ lj ≤ rj ≤ n). For each query lj, rj the Little Elephant has to count, how many numbers x exist, such that number x occurs exactly x times among numbersalj, alj + 1, ..., arj.

Help the Little Elephant to count the answers to all queries.

Input

The first line contains two space-separated integers n and m (1 ≤ n, m ≤ 105) — the size of array a and the number of queries to it. The next line contains n space-separated positive integers a1, a2, ..., an (1 ≤ ai ≤ 109). Next m lines contain descriptions of queries, one per line. The j-th of these lines contains the description of the j-th query as two space-separated integers lj and rj (1 ≤ lj ≤ rj ≤ n).

Output

In m lines print m integers — the answers to the queries. The j-th line should contain the answer to the j-th query.

Examples
input
7 2 3 1 2 2 3 3 7 1 7 3 4
output
3 1 题意:询问区间[l,r]内出现次数等于它本身的数的个数 莫队算法
#include
#include
#include
using namespace std;int n,m,siz,ans;int a[100001],hash[100001];int sum[100001];struct node{ int bl,id; int l,r,k;}e[100001];bool cmp(node p,node q){ if(p.bl!=q.bl) return p.bl
opl) update(--l,1); while(l
opr) update(r--,-1); e[i].k=ans; } sort(e+1,e+m+1,cmp2); for(int i=1;i<=m;i++) printf("%d\n",e[i].k);}

 

转载于:https://www.cnblogs.com/TheRoadToTheGold/p/6847967.html

你可能感兴趣的文章
查看当前Linux系统的发行版本命令详解
查看>>
Ghost "Error 19913 Unable to start TCP/IP" during startup
查看>>
nginx 反向代理http和https配置
查看>>
raid 0 1 5 10
查看>>
修改python原文件中的from、to字段
查看>>
普通o2o公司架构部署
查看>>
Script:List Buffer Cache Details
查看>>
LVS+Keepalived实现负载均衡
查看>>
linux命令:rpm软件包管理
查看>>
敏捷开发实践总结(四):职责分工
查看>>
CentOS Linux 监控安装之cacti
查看>>
编写一个日志轮询归档脚本
查看>>
supervisor学习笔记
查看>>
Apache的三种工作模式
查看>>
linux rsync远程同步(续)
查看>>
计算删除日期(二)
查看>>
迁移家目录
查看>>
win2008高级防火墙
查看>>
42. Python Queue 模块
查看>>
DOM(二)——XML DOM
查看>>