【luogu题解】T378828 位运算
位运算
题目背景
题目由 daiyulong20120222 创作(me)
并由
QBW1117完善以及数据 。
题目描述
给定两个数\(x,y\) ,在给定一个位运算符号 \(c\)。
请你列出 \(x,y\) 进行 \(c\) 位运算是的算数竖式式。
注:
竖式这么列:
显示出两个数的完整二进制,包括前导零。
32个 '-'。
显示出 \(ans\) ,包括前导零。
位运算符号可能是:
&
|
^
输入格式
三个整数\(x,y,c\)同题意
输出格式
竖式结果
样例 #1
样例输入 #1
32 21 &
样例输出 #1
00000000000000000000000000100000
00000000000000000000000000010101
--------------------------------
00000000000000000000000000000000
题解
做这道题有3种方法。
方法一:进制转换(字符串)
这种方法在此不做过多的赘述,有兴趣的同学可以翻看一些luogu进制转换的题解。
不过真的是太简单啦!
方法二:位运算&状态压缩
这种方法也在此不做过多的赘述。
不过也真的是太简单啦!
·····方法三:bitset库函数
在C++中:有一个库函数 bitset
头文件:#include<bitset>
详见请查看此链接
AC code
#include <iostream>
#include <bitset>
using namespace std;
string performBitOperation(int x, int y, char op) {
bitset<32> binaryX(x);
bitset<32> binaryY(y);
bitset<32> result;
switch (op) {
case '&':
result = binaryX & binaryY;
break;
case '|':
result = binaryX | binaryY;
break;
case '^':
result = binaryX ^ binaryY;
break;
default:
cout << "Invalid operator!" << endl;
return "";
}
string binaryXStr = binaryX.to_string();
string binaryYStr = binaryY.to_string();
string resultStr = result.to_string();
string separator(32, '-');
string output = binaryXStr + "\n" + binaryYStr + "\n" + separator + "\n" + resultStr;
return output;
}
int main() {
int x, y;
char op;
cin >> x >> y >> op;
string result = performBitOperation(x, y, op);
cout << result << endl;
return 0;
}
【luogu题解】T378828 位运算的更多相关文章
- FJUT寒假作业第二周C题解(位运算)
题目来源:http://210.34.193.66:8080/vj/Contest.jsp?cid=161#P2 题意比较好理解.如果直接按题目要求一步一解.一定超时.作为一个懒人也不会这么暴力一个肯 ...
- Codeforces Round #672 (Div. 2) B. Rock and Lever题解(思维+位运算)
题目链接 题目大意 给你一个长为n(n<=1e5)的数组,让你求有多少对a[i]和a[j] (i!=j)满足a[i]&a[j]>a[i]^a[j] 题目思路 这些有关位运算的题目肯 ...
- 【洛谷P2114】起床困难综合征 位运算+贪心
题目大意:给定 N 个操作,每个操作为按位与.或.异或一个固定的数字,现在要求从 0 到 M 中任选一个数字,使得依次经过 N 个操作后的值最大. 题解:位运算有一个重要的性质是:位运算时,无进位产生 ...
- 【LeetCode】位运算 bit manipulation(共32题)
[78]Subsets 给了一个 distinct 的数组,返回它所有的子集. Example: Input: nums = [,,] Output: [ [], [], [], [,,], [,], ...
- upc组队赛16 Winner Winner【位运算】
Winner Winner 题目链接 题目描述 The FZU Code Carnival is a programming competetion hosted by the ACM-ICPC Tr ...
- 牛客小白月赛28 D.位运算之谜 (位运算)
题意:给你两个正整数\(x\)和\(y\),求两个正整数\(a\),\(b\),使得\(a+b=x\),\(a\)&\(b\)=\(y\),如果\(a\),\(b\),输出\(a\ xor \ ...
- Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算)
Libre 6009 「网络流 24 题」软件补丁 / Luogu 2761 软件安装问题 (最短路径,位运算) Description T 公司发现其研制的一个软件中有 n 个错误,随即为该软件发放 ...
- luogu P2114 [NOI2014]起床困难综合症 位运算 二进制
建议去uoj那里去测,数据比较强 位运算的题目,就得一位一位的分开考虑 然后枚举初始值的最高位是0 是1 的最终攻击 (二进制内)最高位是1肯定比次位是1次次位是1次次次位是1···的大吧,显然 然后 ...
- 【Luogu】2114起床困难综合征(位运算贪心)
题目链接 这题真是恶心死我了. 由于位运算每一位互不干涉,所以贪心由大到小选择每一位最优的解,但是要判断一下边界,如果选择该解使得原数>m则不能选择. 代码如下 #include<cstd ...
- luogu 5354 [Ynoi2017]由乃的OJ LCT+位运算
如果做过起床困难综合征的话应该很快就能有思路,没做过那道题的话还真是挺费劲的. 我们不知道要带入的值是什么,但是我们可以知道假设带入值得当前位为 $1$ 时这一位在经过位运算后是否为 $1$. 至于这 ...
随机推荐
- 大数据请把文章推给想了解DLL的人
DLL(Dynamic Link Library)动态链接库在 webpack 中用来将可共享且不常改变的代码抽取成公共的库. 没有使用 DLL react 和 react-dom 在 react 项 ...
- 零代码基础,一分钟教你快速搭建微信ChatGPT机器人!
本教程收集于:ChatGPT聊天机器人搭建全攻略汇总:精心整理 Github登录账号后,先Forck下仓库:https://github.com/zhayujie/chatgpt-on-wechat ...
- 震坤行根据ID取商品详情 API
item_get-根据ID取商品详情 注册开通 zhenkunhang.item_get 公共参数 名称 类型 必须 描述 key String 是 调用key(必须以GET方式拼接在URL中) se ...
- 【krpano】淘宝buy+案例
这是一个类似淘宝buy+的案例,是基于krpano全景开发工具二次开发的全景视频.WebVR.360°环物.全景视频热点添加于一身的综合性案例.现在将案例上传网站供krpano技术人员和爱好者大家共同 ...
- 开源XL-LightHouse与Flink、ClickHouse之类技术相比有什么优势
Flink是一款非常优秀的流式计算框架,而ClickHouse是一款非常优秀的OLAP类引擎,它们是各自所处领域的佼佼者,这一点是毋庸置疑的.Flink除了各种流式计算场景外也必然可以用于流式统计,C ...
- 【逆向专题】【危!!!刑】(一)使用c#+Win32Api实现进程注入到wechat
引言 自从上篇使用Flaui实现微信自动化之后,这段时间便一直在瞎研究微信这方面,目前破解了Window微信的本地的Sqlite数据库,使用Openssl,以及Win32Api来获取解密密钥,今天作为 ...
- Record - Dec. 1st, 2020 - Exam. REC
Prob. 1 Desc. & Link. 行走的形式是比较自由的,因为只要走到了最优答案处就可以不管了,所以不需要考虑游戏的结束. 考虑二分答案. 然后预处理出每个节点到 \(s\)(另一棵 ...
- TCP vs UDP:揭秘可靠性与效率之争
概述 今天我们开始主要讲解TCP的相关知识点.在之前讲解分层章节的时候,我们提到过一个重要观点.在网络层及以下几层,更多的是让主机与主机建立连接,也就是说你的电脑需要知道另一台电脑在哪里才能连接上它. ...
- 在线问诊 Python、FastAPI、Neo4j — 构建问题分类器
目录 构建字典数据 构建 Trie 字典树 按实体组装字典 问题分析 将问题进行分析,和系统已有的分类进行关联 构建字典数据 将构建的知识图片字典化, 用于后面对问题的解析,下图为症状的字典,其它字典 ...
- oracle 12C提示:ORA-28001口令已经失效
oracle 12C 提示口令已经失效,此用户是pdb用户,解决办法:1 系统管理员身份登陆 sqlplus / as sysdba 2 转到对应的pdb容器中 alter session set c ...