数据结构与算法B代码编写作业,位查询,解题报告&AC代码
来源:互联网 发布:js控制div隐藏 编辑:程序博客网 时间:2024/06/06 08:24
终于回来了,继续写解题报告。
这道题唯一的难点在于如何判断第i位是不是1,这一点可以用位运算实现。对于一个2进制数(我们举个栗子,比如11100101),当我们想查询它第i位(最低位是0)的值时,可以将它右移i位,模2即可。
AC代码在下面,因为比较简单我就懒得写注释了= =
传说中的惯例……最后是题目……
这道题唯一的难点在于如何判断第i位是不是1,这一点可以用位运算实现。对于一个2进制数(我们举个栗子,比如11100101),当我们想查询它第i位(最低位是0)的值时,可以将它右移i位,模2即可。
查询11100101的第3位,右移3位变成00011100,模2为0,即第三位数字为0。伪代码如下:
//num:待检测数字;i:查询位数cout << (num >> i % 2) << endl;
AC代码在下面,因为比较简单我就懒得写注释了= =
/*ID: Moien_PodienePROG: STRINGLANG: C++*/#include <iostream>using namespace std;int main(){ int i, j; int N, M; int num[100001], val, sum, check; char op; cin >> N >> M; for(i = 0; i < N; i++) { cin >> num[i]; } for(i = 0; i < M; i++) { cin >> op; cin >> val; if(op == 'C') { for(j = 0; j < N; j++) { num[j] += val; num[j] %= 65536; } } else if(op == 'Q') { sum = 0; for(j = 0; j < N; j++) { check = num[j] >> val; if(check % 2 == 1) { sum++; } } cout << sum << endl; } } return 0;}
传说中的惯例……最后是题目……
总时间限制: 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的统计值。
- 数据结构与算法B代码编写作业,位查询,解题报告&AC代码
- 数据结构与算法B代码编写作业,字符串插入,解题报告&AC代码
- 数据结构与算法B代码编写作业,栈的基本操作,解题报告&AC代码
- 数据结构与算法B代码编写作业,stack or queue,解题报告&AC代码
- 数据结构与算法B代码编写作业,Huffman编码树,解题报告&AC代码
- 数据结构与算法B代码编写作业,电话号码,解题报告&AC代码
- 数据结构与算法B代码编写作业,树的转换,解题报告&AC代码
- 数据结构与算法B代码编写作业,由中根序列和后根序列重建二叉树,解题报告&AC代码
- 数据结构与算法B代码编写作业,表达式·表达式树·表达式求值,AC代码&注释
- OpenJudge 2745:显示器 解题报告&AC代码
- 趣味算法实习:踩气球第二周-《一道很简单的题目》解题报告&AC代码
- 程序设计实习踩气球第八周《勇敢与鲁莽》解题报告&AC代码
- [Hnoi2010]Matrix 矩阵解题报告及AC代码
- 程设第二轮练习:垂直直方图 解题报告&AC代码
- POJ-1006 生理周期(Biorhythms) 解题报告&AC代码
- OpenJudge 4043:GPA排名系统 解题报告&AC代码
- OpenJudge 4030:统计单词数 解题报告&AC代码
- USACO Training Section 1.2 Transformations 解题报告&AC代码
- Leetcode: Combination Sum II
- VC获取文件大小的一些问题
- 慎用USES_CONVERSION
- 自制即时通信系统:socket网络编程(6)
- POJ 1694 石头游戏
- 数据结构与算法B代码编写作业,位查询,解题报告&AC代码
- C++编程对缓冲区的理解
- Java中除零运算
- 快速排序
- PageRank引用排行:让网络变得有序 [ The PageRank Citation Ranking: Bringing Order to the Web ]
- 数据结构之图(存储结构、遍历)
- hdu 3333 Turing Tree
- 关于stringstream
- jiffies