[UESTC 1256]昊昊爱运动
来源:互联网 发布:java培训出来找工作难 编辑:程序博客网 时间:2024/05/22 04:57
昊昊喜欢运动
他N天内会参加M种运动(每种运动用一个[1,m]的整数表示)舍友有Q个问题,问昊昊第l天到第r天参加了多少种不同的运动。
输入:
输入两个数N, M (1≤N≤2000, 1≤M≤100);
输入N个数ai表示在第i天昊昊做了第ai类型的运动;
输入一个数Q(1≤Q≤10^6)
输入Q行 每行两个数 l, r(1≤l≤r≤n)
输出:
一共Q行
每一行输出一个数 表示昊昊在第l天到第r天一共做了多少种活动
样例输入:
5 31 2 3 2 231 42 41 5
样例输出:
323
题解:由于Q过大,所以我们决定用N^2的时间进行预处理并保存所有的答案,回答只需要O(1)就好了。
代码:
#include<cstring>#include<cstdlib>#include<cstdio>#include<iostream>#include<algorithm>#define LiangJiaJun mainusing namespace std;int mp[2004][2004],n,q,m,d[2004];bool g[2004];int LiangJiaJun(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;i++)scanf("%d",&d[i]); for(int i=1;i<=n;i++){ memset(g,0,sizeof(g)); int ans=0; for(int j=i;j<=n;j++){ if(!g[d[j]])g[d[j]]=1,++ans; mp[i][j]=ans; } } scanf("%d",&q); while(q--){ int l,r;scanf("%d%d",&l,&r); printf("%d\n",mp[l][r]); } return 0;}
上次写题已经是好久之前了,手有点生,写个简单题。。
0 0
- [UESTC 1256]昊昊爱运动
- 2016 UESTC Training for Data Structures Q - 昊昊爱运动 II 线段树+延迟操作+bitset
- 2016 UESTC Training for Data Structures Q - 昊昊爱运动 II CDOJ 1259 线段树+bitset
- UESTC 1256 昊昊喜欢运动 n^2的预处理 or 前缀和
- UESTC--1256
- 昊昊爱运动
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- UESTC
- 通过Java Api与HBase交互(转)
- 生命无痕
- 使用mentohust解决ubuntu下校园网无法连接
- HBase配置性能调优(转)
- POJ 1240 Pre-Post-erous! 前序+后序遍历判断树的形状的数量
- [UESTC 1256]昊昊爱运动
- Linux学习之新手必知的26 个命令
- java中volatile关键字的使用
- HBase设计与开发性能优化(转)
- 求一个数的数位
- 华为2016上机考试第二题
- Linux c==嵌入式文件编程(1)
- OpenGL ES 着色器
- 第6节--决策树算法实现(scikit-learn)