位查询【 openjudge数据结构课程练习题】
/*=======================================================
位查询
http://dsalgo.openjudge.cn/linearlists/3/ 总时间限制:5000ms 内存限制: 65536kB
描述
给出N个范围在[0, 65535]的整数,编程支持以下的操作:
(1)修改操作:C d,所有的数都增加d。如果超过65535,把结果模65536。 0 <= d <= 65535
(2)查询操作:Q i,统计在N个正整数中有多少个整数其对应的二进制形式的第i位二进制位为非0。0 <= i <= 15。并且最低位i为0。
最后,输出所有查询操作的统计值。
输入
输入的第一行为两个正整数N,M,其中N为操作的整数的个数,而M为具体有多少个操作。
输入的第二行为N个正整数,为进行操作的N个正整数。
下面有M行,分别表示M个操作。
数据范围:N<=100000,M<=200000
输出
输出所有查询操作Q的统计值,每一个查询操作统计结果输出为一行。
样例输入
3 5
1 2 4
Q 1
Q 2
C 1
Q 1
Q 2
样例输出
1
1
2
1
提示
只输出查询操作Q的统计值。
=========================================================*/
题目描述
这个题目要注意输入数据时不要忘记清除回车符。
#include<stdio.h>
#include<math.h>
#include<stdlib.h>
int main()
{
long N,M;
long *a;
char ch;
long j,d;
long i;
long ans;
freopen("data.in","r",stdin);
freopen("data.out","w",stdout);
scanf("%ld%ld",&N,&M); a=(long *)malloc(N*sizeof(long));
for(j=;j<N;j++) scanf("%ld",&a[j]);
getchar();//注意这里。
for(j=;j<M;j++)
{
scanf("%c %ld",&ch,&d);
getchar();//注意这里。
/*printf("%c %ld\n",ch,d);*/ if(ch=='C')
{
for(i=;i<N;i++)
a[i]=(a[i]+d)%;
}
else if(ch=='Q')
{
ans=;
d=pow(,d);
for(i=;i<N;i++)
if(a[i]&d) ans++;
printf("%ld\n",ans);
}
else printf("input error!ch==%c\n",ch);
}
return ;
}
位查询【 openjudge数据结构课程练习题】的更多相关文章
- php数据结构课程---2、链表(php中 是如何实现单链表的(也就是php中如何实现对象引用的))
php数据结构课程---2.链表(php中 是如何实现单链表的(也就是php中如何实现对象引用的)) 一.总结 一句话总结: php是弱类型语言,变量即可表示数值,也可表示对象:链表节点的数据域的值就 ...
- php数据结构课程---5、树(树的 存储方式 有哪些)
php数据结构课程---5.树(树的 存储方式 有哪些) 一.总结 一句话总结: 双亲表示法:data parent:$tree[1] = ["B",0]; 孩子表示法:data ...
- 查询json数据结构的8种方式
查询json数据结构的8种方式 你有没有对“在复杂的JSON数据结构中查找匹配内容”而烦恼.这里有8种不同的方式可以做到: JsonSQL JsonSQL实现了使用SQL select语句在json数 ...
- POJ——位查询
3:位查询 查看 提交 统计 提问 总时间限制: 5000ms 内存限制: 65536kB 描述 给出N个范围在[0, 65535]的整数,编程支持以下的操作: (1)修改操作:C d,所有的数 ...
- 小菜菜mysql练习解读分析2——查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )
“查询存在" 01 "课程但可能不存在" 02 "课程的情况(不存在时显示为 null )” ——翻译为:课程表里面,存在01的信息,未必满足有02的课程情况 ...
- [转载]查询json数据结构的8种方式
http://wangxinghaoaccp.blog.163.com/blog/static/1158102362012111812255980/ 你有没有对“在复杂的JSON数据结构中查找匹配内容 ...
- php数据结构课程---4、栈(是什么)
php数据结构课程---4.栈(是什么) 一.总结 一句话总结: 栈(stack),它是一种运算受限的线性表.其限制是仅允许在表的一端进行插入和删除运算. 1.栈的链表实现? 定义node,设置属性d ...
- php数据结构课程---3、队列(队列实现方法)
php数据结构课程---3.队列(队列实现方法) 一.总结 一句话总结: 1.数据实现:适用于功能不复杂的情况 2.链表实现:受限链表,只能队头队尾操作:适用于功能复杂情况 1.队列的数组实现注意点? ...
- php数据结构课程---1、数据结构基础介绍(程序是什么)
php数据结构课程---1.数据结构基础介绍(程序是什么) 一.总结 一句话总结: 程序=数据结构+算法 设计好数据结构,程序就等于成功了一半. 数据结构是程序设计的基石. 1.数据的逻辑结构和物理结 ...
随机推荐
- sphinx 全配置
## 数据源src1 source src1 { ## 说明数据源的类型.数据源的类型可以是:mysql,pgsql,mssql,xmlpipe,odbc,python ## 有人会奇怪,python ...
- HDOJ-三部曲一(搜索、数学)-1008-Prime Path
Prime Path Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) Total S ...
- HDU3952-几何
题意:给n个水果,每个水果包括m个点(即m条边),判断一刀能切的最多的水果数目: 思路:数据比较小,n <= 10,m <= 10;可以暴力枚举,枚举两个水果的任意两个点,连成一条直线,然 ...
- # 20145210 《Java程序设计》第03周学习总结
教材学习内容总结 第四章 类与对象 在定义类这个小结里,有很多新的术语,书上的比喻很形象,对于理解这部分的内容有很大帮助,现总结如下: •类与对象的关系:要产生对象必须先定义类,类是对象的设计图,对象 ...
- Finding Nemo_BFS
Description Nemo is a naughty boy. One day he went into the deep sea all by himself. Unfortunately, ...
- PM 时钟机制
PM 时钟机制 10.1 Minix3 PM 时钟机制概述在 MINIX3 中,除了前面所讲到的 CLOCK 时钟,在 pm 中也是维持了一个时钟, 我们暂且不分析为啥要这么做,我就分析是怎么实现这个 ...
- HDU 1004 Let the Balloon Rise(AC代码)
#include <stdio.h> #include <string.h> ][]; ]={}; int main() { int n,i,j,k,max,loc; ){ m ...
- 哎哟,我的.NET呀
今早无意看到一篇文章,看着.Net被喷得越来越惨,终于还是有人忍不住要奋起反抗了哇! 虽然我已经转了java(大致方向)(没想到我是转的java方向!)好吧!其实也不算是转,就像文章所说的,我最多算是 ...
- [转载]NoSQL by Martin Flower
============================================================== URL1 nosql ========================== ...
- 关于C中scanf()函数读取字符串的问题
#include <stdio.h> int main(void) { ]; scanf("%s", s_name); printf("Hello, %s!\ ...