Codeforces Round #215 (Div. 2) -B. Sereja and Suffixes
来源:互联网 发布:烧脑电影推荐 知乎 编辑:程序博客网 时间:2024/05/21 18:35
题意: 统计数组中某个位置M后有多少个不同的数字。
方法: 哈希法,预处理数据。
#include <iostream>#include <cstdio>#include <cmath>#include <algorithm>#include <cstring>using namespace std;int a[100005],bi[100005];int c[100005]; //存储统计的数组一开始没注意开太小,一直WA。应该是每个位置都要存储。int main(){ int n,m,i,j=0,l; scanf("%d%d",&n,&m); for(i=0;i<n;i++) { scanf("%d",&a[i]); } memset(bi,0,sizeof(bi)); int count=0; for(i=n-1;i>=0;i--) { if(!bi[a[i]]) //哈希法,把数映射到一个表里 { count++; bi[a[i]]=1; // 有数字的标记。 } c[i]=count; //从后面往前讲数据预处理,统计每个位置后面多少个不同的数字 } while(m--) { scanf("%d",&l); printf("%d\n",c[l-1]); }}
- Codeforces Round #215 (Div. 2) -B. Sereja and Suffixes
- Codeforces Round #215 (Div. 2) -B. Sereja and Suffixes
- Codeforces Round #215 (Div. 2) B. Sereja and Suffixes
- Codeforces Round #215 (diy.2) B.Sereja and Suffixes
- CodeForces 368B Sereja and Suffixes
- CodeForces 368B-Sereja and Suffixes【模拟】
- Codeforces 368B Sereja and Suffixes
- CodeForces 368B:Sereja and Suffixes【水】
- Codeforces-368B-Sereja and Suffixes
- 【codeforces 368B Sereja and Suffixes】+ 预处理
- CodeForces 368B Sereja and Suffixes
- codeforces 368 B. Sereja and Suffixes
- Codeforces Round #223 (Div. 2) B. Sereja and Stairs
- Codeforces Round #235 (Div. 2)B. Sereja and Contests
- Codeforces Round #187 (Div. 2) B. Sereja and Array
- Codeforces Round #223 (Div. 2) B. Sereja and Stairs【模拟】
- B. Sereja and Suffixes
- Codeforces Round #223 (Div. 2)A. Sereja and Dima&&B. Sereja and Stairs
- 【比特币】讨论
- 9种适合工程师的好物
- Sqoop配置安装
- 单位GB和GiB的分别
- stub调用WebService
- Codeforces Round #215 (Div. 2) -B. Sereja and Suffixes
- linux 命令
- 根文件系统制作
- ios 画图函数
- 资源汇总
- SNMP协议详解
- Android经典完美退出方法
- Linux memory management
- 使用HttpURLConnection发送Post/Get请求