
位运算
小王子y
互关啊!!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
64位整数乘法(位运算)
求 a 乘 b 对 p 取模的值。 输入格式 第一行输入整数a,第二行输入整数b,第三行输入整数p。 输出格式 输出一个整数,表示a*b mod p的值。 数据范围 1≤a,b,p≤10的18次方 输入样例: 3 4 5 输出样例: 2 //变成b个a相加 #include<bits/stdc++.h> using namespace std; typedef long long LL; int main(){ LL a,b,p; cin>>a>>b&原创 2021-02-17 19:11:54 · 310 阅读 · 0 评论 -
[蓝桥杯][算法提高VIP]开灯游戏
题目 1520: [蓝桥杯][算法提高VIP]开灯游戏 时间限制: 1Sec 内存限制: 128MB 提交: 499 解决: 241 题目描述 有9盏灯与9个开关,编号都是1~9。 每个开关能控制若干盏灯,按下一次会改变其控制的灯的状态(亮的变成不亮,不亮变成亮的)。 具体如下: 第一个开关控制第二,第四盏灯; 第二个开关控制第一,第三,第五盏灯; 第三个开关控制第二,第六盏灯; 第四个开关控制第一,第五,第七盏灯; 第五个开关控制第二,第四,第六,第八盏灯; 第六个开关控制第三,第五,第九盏灯; 第七个开原创 2020-12-19 17:59:21 · 189 阅读 · 1 评论 -
蓝桥杯国赛 格雷码
格雷码 格雷码是以n位的二进制来表示数。 与普通的二进制表示不同的是,它要求相邻两个数字只能有1个数位不同。 首尾两个数字也要求只有1位之差。 有很多算法来生成格雷码。以下是较常见的一种: 从编码全0开始生成。 当产生第奇数个数时,只把当前数字最末位改变(0变1,1变0) 当产生第偶数个数时,先找到最右边的一个1,把它左边的数字改变。 用这个规则产生的4位格雷码序列如下: 0000 0001 0011 0010 0110 0111 0101 0100 1100 1101 1111 1110 1010 101原创 2020-12-04 17:45:35 · 221 阅读 · 0 评论 -
优秀的拆分(位运算)
一般来说,一个正整数可以拆分成若干个正整数的和。 例如,1=1,10=1+2+3+41=1,10=1+2+3+4 等。 对于正整数 nn 的一种特定拆分,我们称它为“优秀的”,当且仅当在这种拆分下,nn 被分解为了若干个不同的 22 的正整数次幂。 注意,一个数 xx 能被表示成 22 的正整数次幂,当且仅当 xx 能通过正整数个 22 相乘在一起得到。 例如,10=8+2=23+2110=8+2=23+21 是一个优秀的拆分。 但是,7=4+2+1=22+21+207=4+2+1=22+21+20 就不是原创 2020-11-08 16:35:32 · 3482 阅读 · 0 评论