CodeForces 220B Little Elephant and Array
来源:互联网 发布:数据分析工具python 编辑:程序博客网 时间:2024/06/05 17:37
The Little Elephant loves playing with arrays. He has array a, consisting of n positive integers, indexed from 1 ton. 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 integerslj andrj(1 ≤ lj ≤ rj ≤ n). For each querylj, rj the Little Elephant has to count, how many numbersx 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.
The first line contains two space-separated integers n andm (1 ≤ n, m ≤ 105) — the size of arraya and the number of queries to it. The next line containsn space-separated positive integers a1, a2,..., an(1 ≤ ai ≤ 109). Nextm lines contain descriptions of queries, one per line. Thej-th of these lines contains the description of thej-th query as two space-separated integerslj andrj(1 ≤ lj ≤ rj ≤ n).
In m lines print m integers — the answers to the queries. The j-th line should contain the answer to the j-th query.
7 23 1 2 2 3 3 71 73 4
31
#include <iostream>#include <cstdio>#include <cstring>#include <cmath>#include <algorithm>#include <vector>#include <string>#include <queue>#include <ctime>#include <cstdlib>#include <stack>#include <map>#include <set>#include <list>#if ( _win32 || __win32__ ) #define lld "%i64d"#else #define lld "%lld"#endif#define MP make_pair#define PB push_back#define INT_INF 0x3fffffff#define LL_INF 0x3fffffffffffffff#define EPS 1e-12#define MOD 1000000007#define PI 3.14159265358979323846#define N 100010#define E 100010using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef unsigned int Uint;typedef double DB;int a[N] , cnt[N];bool is[N];int s[500][N];int val[500];int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { memset(cnt,0,sizeof(cnt)); memset(is,0,sizeof(is)); for(int i=1; i<=n; i++) { scanf("%d",a+i); if(a[i]<=n && ++cnt[a[i]]==a[i]) is[a[i]]=1; } int tot=0; memset(s,0,sizeof(s)); memset(val,0,sizeof(val)); for(int i=1; i<=n; i++) { if(!is[i]) continue; for(int j=1; j<=n; j++) { s[tot][j]=s[tot][j-1]; if(a[j]==i) s[tot][j]++; } val[tot++]=i; } for(int ca=1,L,R; ca<=m; ca++) { scanf("%d%d",&L,&R); int ans=0; for(int i=0; i<tot; i++) if(s[i][R]-s[i][L-1]==val[i]) ans++; printf("%d\n",ans); } } return 0;}
- Codeforces 220B Little Elephant and Array
- CodeForces 220B Little Elephant and Array
- CodeForces Round #136(220B) - Little Elephant and Array
- 线段树 CodeForces 220B - Little Elephant and Array
- Codeforces 220B(Little Elephant and Array)
- Codeforces 220B - Little Elephant and Array 离线树状数组
- Little Elephant and Array - CodeForces 220 B 树状数组
- CodeForces 220B Little Elephant and Array 莫队算法
- CF 220B Little Elephant and Array
- Codeforces Round #136 (Div. 1) B. Little Elephant and Array
- Codeforces Round #136 (Div. 1) B. Little Elephant and Array
- codeforces 221D Little Elephant and Array
- codeforces 221D Little Elephant and Array
- CodeForces 204B - Little Elephant and Cards
- codeforces 204B- Little Elephant and Cards
- codeforces 221B Little Elephant and Numbers
- Codeforces-258B Little Elephant and Elections
- Codeforces 258B Little Elephant and Elections
- 三周
- vc 调试tinyxml
- C++编程对缓冲区的理解
- PHP+新浪微博开放平台+新浪云平台(SAE)开发微博应用
- 【C库函数】strstr实现
- CodeForces 220B Little Elephant and Array
- ARM linux常用汇编语法
- jQuery基础教程之强大的选择器(过滤选择器-内容过滤选择器)
- 【NOI2005】【DLX】智慧珠游戏(code)
- ARM所有常用指令的实例与说明
- jQuery基础教程之强大的选择器(过滤选择器-可见性过滤选择器)
- 如何切换和更改Linux语言
- 链接脚本
- CodeForces 222C Reducing Fractions