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 ...
随机推荐
- Scala进阶之路-Spark独立模式(Standalone)集群部署
Scala进阶之路-Spark独立模式(Standalone)集群部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们知道Hadoop解决了大数据的存储和计算,存储使用HDFS ...
- 将本地的代码推送到公网的github账号去
将本地的代码推送到公网的github账号去 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 最近工作上需要用到github账号,拜读了一位叫廖雪峰的大神的文档,把git的前世今生说的 ...
- OSPF基础介绍
OSPF基础介绍 一.RIP的缺陷 1.以跳数评估的路由并非最优路径 2.最大跳数16导致网络尺度小 3.收敛速度慢 4.更新发送全部路由表浪费网络资源 二.OSPF基本原理 1.什么是OSPF a& ...
- 4、JDBC-API
访问数据库 /** * 在 java.sql 包中有 3 个接口分别定义了对数据库的调用的不同方式: * * Statement * * PrepatedStatement * * CallableS ...
- ruby导出exl方式
class Demo print "hello world" require "spreadsheet" #设置表格的编码为utf-8 Spreadsheet. ...
- 微信公众号绑定服务器 Flask版
python 代码 from flask import Flask, request from flask_cors import CORS app = Flask(__name__) app.app ...
- js 窗口滚动到一定高度时加载数据
<script type="text/javascript"> //当窗口滚动到一定高度时 某块页面开始加载数据 window.onload = function() ...
- R 的农场 chebnear (二分答案+最近平面点对)
题面 \(solution:\) 这道题想到二分答案应该是不难的,因为题目是求平均工资的最小值,这个显然具备单调性: 我们设平均工资的最小值为ans,如果我们现在的平均工资x小于ans那么将x带入题目 ...
- Python中os.system和os.popen区别
Python调用Shell,有两种方法:os.system(cmd)或os.popen(cmd)脚本执行过程中的输出内容.实际使用时视需求情况而选择. 两者的区别是: os.system(cmd)的返 ...
- HTML5的学习(二)HTML5标签
3.按功能排列标签 (注:红色为HTML5不支持的,蓝色为HTML5新增的标签元素.) 3.1基本 标签 描述 HTML4 HTML5 <!--...--> 定义注释. √ √ < ...