
位运算
文章平均质量分 60
Brightess
毕业于湖南城市学院
目前在某游戏大厂搬砖(
展开
-
2022牛客寒假2 小沙的数数(数学规律题 异或运算)
题意:任意一个长度为 n 的 a 数组,其总和 a[ + ] 为 m,问有多少中不同的 a 数组,使得其总异或和a[ ]最大?思路:代码:#include<bits/stdc++.h>using namespace std;#define int long longconst int mod = 1e9+7;inline int lowbit(int x) { return x & (-x); }signed main(){ int n, m; c..原创 2022-05-04 17:08:13 · 543 阅读 · 0 评论 -
Codeforces Round #793 (Div. 2) B - AND Sorting
题目来源B AND Sorting点此进入题面题意:给出一个排列,给定一个数 X ,每次操作只能交换 i & j = X 两个位置 的数字,问:X 最大为多少,能通过这种操作 让序列变得有序。思路:如果一个数 p[i] ≠ i,那么一定要交换,所以必须有 X & p[i] = X。令 Y = 所有不在它原本位置的 p[i] 的按位与,则 X ≤ Y。实际上可以让 X = Y。因为我们可以把 Y 这个数字拿来当中介。如果要交换 p[i],p[j],我们可以先让 p[i] 和 Y原创 2022-05-23 18:20:51 · 232 阅读 · 0 评论