cdoj 1256 昊昊爱运动 预处理
2024-08-29 16:54:58
昊昊爱运动
Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others)
昊昊喜欢运动
他NN天内会参加MM种运动(每种运动用一个[1,m][1,m]的整数表示)
舍友有QQ个问题
问昊昊第ll天到第rr天参加了多少种不同的运动
Input
输入两个数NN, MM (1≤N≤20001≤N≤2000, 1≤M≤1001≤M≤100);
输入NN个数aiai表示在第i天昊昊做了第aiai类型的运动;
输入一个数QQ(1≤Q≤1061≤Q≤106);
输入QQ行 每行两个数 ll, rr(1≤l≤r≤n1≤l≤r≤n);
Output
一共QQ行
每一行输出一个数 表示昊昊在第ll天到第rr天一共做了多少种活动
Sample input and output
Sample Input | Sample Output |
---|---|
5 3 |
3 |
Source
第七届ACM趣味程序设计竞赛第二场(正式赛)
思路:一眼不是离线树状数组,然后看到数据比较小,n*n*m超时;
预处理n*n,Q*m可以水过;
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define pi (4*atan(1.0))
const int N=2e3+,M=4e6+,inf=1e9+;
int sum[N][N];
int a[N];
int main()
{
int n,m,t;
scanf("%d%d",&n,&m);
for(int i=; i<=n; i++)
scanf("%d",&a[i]);
for(int i=; i<=n; i++)
{
for(t=; t<=m; t++)
sum[t][i]=sum[t][i-];
sum[a[i]][i]=sum[a[i]][i-]+;
}
int q;
scanf("%d",&q);
while(q--)
{
int l,r,ans=;
scanf("%d%d",&l,&r);
for(int i=;i<=m;i++)
if(sum[i][r]-sum[i][l-]>)
ans++;
printf("%d\n",ans);
}
return ;
}
最新文章
- 转载 Android 多线程处理之多线程用法大集合
- jquery radio
- Hibernate框架之get和load方法的区别
- 利用excel拆分数据
- Heka&ndash;>;Elasticsearch 索引数据过程的优化
- 【图论】Codeforces 711D Directed Roads
- 图形用户界面入门:EasyGui - 零基础入门学习Python035
- hdu 5441 Travel(并查集)
- break在switch中的使用例子
- 自己通过centos6.5配置NFS 成功后的笔记,希望对需要的人有点点帮助吧!
- 《Javascript网页经典特性300例》
- DelayQueue使用
- ASP.NET没有魔法——ASP.NET与数据库
- Robot Framework学习笔记(五)------Collections 库
- 『字典树 trie』
- iOS 拨打电话三种方式
- zabbix3.0.4-agent通过shell脚本获取mysql数据库登陆用户
- MyEclipse使用Ant打包项目
- BZOJ4953 Wf2017Posterize(动态规划)
- 连接LilyPad之Linux平台的驱动
热门文章
- Redis, Memcache, Mysql差别
- 源代码分析:onAttach, onMeasure, onLayout, onDraw 的顺序。
- 过年啦!小B高兴的不行了,她收到了很多红包,可以实现好多的愿望呢。小B可是对商店货架上心仪的货物红眼好久了,只因囊中羞涩作罢,这次她可是要大大的shopping一番。小B想去购物时,总是习惯性的把要买的东西列在一个购买清单上,每个物品单独列一行(即便要买多个某种物品),这次也不例外。
- mysql解压版安装和卸载
- 关于js语法中的一些难点(预解析,变量提前,作用域)
- 一篇很不错的关于WPF DataGrid的文章,包含validation
- JS中setInterval、setTimeout不能传递带参数的函数的解决办法
- Elasticsearch集群问题,导致主master节点发现不了node节点
- hive深入使用
- thinkphp将APP_DEBUG常量设置为false后报错的问题