[ABC261E] Many Operations(dp,位运算,打表)
[ABC261E] Many Operations - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)
Problem Statement
We have a variable X and N kinds of operations that change the value of X. Operation i is represented as a pair of integers (Ti,Ai), and is the following operation:
- if Ti=1, it replaces the value of X with and X and Ai;
- if Ti=2, it replaces the value of X with or X or Ai;
- if Ti=3, it replaces the value of X with xor X xor Ai.
Initialize X with the value of C and execute the following procedures in order:
- Perform Operation 1, and then print the resulting value of X.
- Next, perform Operation 1,2 in this order, and then print the value of X.
- Next, perform Operation 1,2,3 in this order, and then print the value of X.
- ⋮
- Next, perform Operation 1,2,…,N in this order, and then print the value of X.
What are and,or,xorand,or,xor?
Constraints
- 1≤N≤2×105
- 1≤Ti≤3
- 0≤Ai<230
- 0≤C<230
- All values in input are integers.
Input
Input is given from Standard Input in the following format:
N C T1 A1 T2 A2 ⋮ TN AN
Output
Print N lines, as specified in the Problem Statement.
Sample 1
| Inputcopy | Outputcopy |
|---|---|
3 10 3 3 2 5 1 12 | 9 15 12 |
The initial value of X is 10.
- Operation 1 changes X to 9.
- Next, Operation 1 changes X to 10, and then Operation 2 changes it to 15.
- Next, Operation 1 changes X to 12, and then Operation 2 changes it to 13, and then Operation 3 changes it to 12.
Sample 2
| Inputcopy | Outputcopy |
|---|---|
9 12 1 1 2 2 3 3 1 4 2 5 3 6 1 7 2 8 3 9 | 0 2 1 0 5 3 3 11 2 |
解析 :
用dp打表,将所有可能的状态都算出来,需要注意,这里如果不使用dp打表可能会超时(dp真的是最强的算法,可以解决的问题很多,效率还高)
集合划分:不重不漏,且需要将所有需要用到的状态体现出来
f[i][j][k] 表示:c的二进制的第 j 位是 i(0或1),且第 k 次操作所得的结果;
状态转移:
v = (a[k]>>j)&1;
当 t[k]==1 : f[i][j][k]=f[i][j][k-1] & v;
当 t[k]==2:f[i][j][k]=f[i][j][k-1] | v;
当 t[k]==3:f[i][j][k]=f[i][j][k-1] ^v;
#include<iostream>
#include<string>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include<utility>
#include<stack>
#include<queue>
#include<vector>
#include<set>
#include<math.h>
#include<map>using namespace std;
typedef long long LL;
const int N = 2e5 + 5;
int n, c, t[N], a[N], f[2][35][N];int main() {cin >> n >> c;for (int i = 1; i <= n; i++) {scanf("%d%d", &t[i], &a[i]);}for (int i = 0; i < 2; i++) {for (int j = 0; j <= 30; j++) {f[i][j][0] = i;for (int k = 1; k <= n; k++) {int v = (a[k] >> j) & 1;if (t[k] == 1) {f[i][j][k] = f[i][j][k - 1] & v;}else if (t[k] == 2) {f[i][j][k] = f[i][j][k - 1] | v;}elsef[i][j][k] = f[i][j][k - 1] ^ v;}}}for (int i = 1; i <= n; i++) {int ans = 0;for (int j = 0,k=c; j <= 30; j++,k>>=1) {ans += f[k & 1][j][i] * (1 << j);}cout << ans << endl;c = ans;}return 0;
}
相关文章:
[ABC261E] Many Operations(dp,位运算,打表)
[ABC261E] Many Operations - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) Problem Statement We have a variable X and N kinds of operations that change the value of X. Operation i is represented as a pair of integers (Ti,Ai), and is the following operati…...
一、爬虫-爬取豆瓣电影案例
1、环境配置 你需要一个pycharm和requests第三方库,在安装完成之后即可继续浏览。 2、操作流程 (1)打开豆瓣电影网站,点击排行榜,点击喜剧,检查 (2)可以看到鼠标每次下移࿰…...
4G5G防爆执法记录仪、防爆智能安全帽赋能智慧燃气,可视化巡检巡线,安全生产管控
随着燃气使用的普及,燃气安全问题日益突出。传统应急安全问题处理方式暴露出以下问题: 应急预案不完善:目前一些燃气企业的应急预案存在实用性不高、流程不清晰等问题,导致在紧急情况下难以迅速启动和有效执行。 部门协同不流畅…...
武汉数字孪生赋能工业制造,加速推进制造业数字化转型
随着数字孪生技术的不断推进,互联网、物联网、智能传感技术开始应用到数控机床的远程服务,状态监控,故障诊断,维护管理等方面。武汉数字孪生是在虚拟空间中创建物理对象的高保真虚拟模型,以模拟其在现实世界中的行为提…...
安卓密码框、EditText
目录 1. 基础使用 2. 密码的展示与隐藏 (1) 使用setTransformationMethod方法 (2) 使用setInputType方法 3. imeOptions属性 4. 单行设置 在安卓中使用密码框普遍采用EditText设置inputType"textPassword"的方式。 1. 基础使用 <EditTextandroid:id"…...
ROS命令行工具
1、roscore 在使用ROS之前,首先要启动roscore进程。当我们在终端中运行这个命令时,系统就会启动ROS Master、参数服务器和日志节点。在这之后,就可以运行任何其他的ROS程序/节点了。所以可以在一个终端窗口运行roscore指令&#…...
深入浅出 Golang 中的直接依赖和间接依赖管理
目录 引言 直接依赖 间接依赖 为什么需要间接依赖? 如何管理间接依赖? 小结 引言 Golang 中的依赖管理是使用 go mod 进行管理的。go mod 是 Golang 官方推出的依赖管理工具,可以帮助开发者管理项目的依赖关系,确保项目代码…...
深入Python元编程:了解声明与初始化定制元类
更多资料获取 📚 个人网站:ipengtao.com 简介 在Python中,元编程是指在运行时创建或定制类的编程。元类是Python中最强大的元编程工具之一,允许您控制类的创建过程。元类是类的类,它控制类的实例化,允许您…...
[传智杯初赛] 期末考试成绩
传智专修学院的 Java 程序设计课程的评价体系是这样的: 首先,所有学生会有一个卷面得分,这个得分一定是一个 [0,100][0,100] 之间的整数。 如果卷面得分在 9090 分及以上,那么他的 GPA(加权平均成绩) 就是…...
Linux 常用基本命令
文章目录 7.1 帮助命令7.1.1 man 获得帮助信息7.1.2 help 获得shell内置命令的帮助信息7.1.3 常用快捷键 7.2 文件目录类7.2.1 pwd 显示当前工作目录的绝对路径7.2.2 ls 列出目录的内容7.2.3 cd 切换目录7.2.4 mkdir 创建一个新的目录7.2.5 rmdir 删除一个空的目录7.2.6 touch …...
阿里云语雀频繁崩溃,有什么文档管理工具是比较稳定的?
10月23 日14:00左右,蚂蚁集团旗下的在线文档编辑与协同工具语雀发生服务器故障,在线文档和官网都无法打开。直到当天晚上22:24,语雀服务才全部恢复正常。从故障发生到完全恢复正常,语雀整个宕机时间将近 8 小时,如此长…...
二分查找(折半查找)探究学习
1.引入 当我们想要查找在一个数组中某一个特定的数它的下标是什么的时候,我们最先想的方法是遍历数组,如下: #include<stdio.h> #include<string.h> int main() { int arr[10]{1,2,3,4,5,6,7,8,9,10}; int key 8;//要找的数是8…...
Android : 异常记录
查询大数据时 报错 android.database.sqlite.SQLiteBlobTooBigException: Row too big to fit into CursorWindow requiredPos0, totalRows1解决办法:cursor DB.rawQuery("select * from " DBhelpUtil.TABLE_NAME" where id ?",new String[]…...
西南科技大学电路分析基础实验A1(元件伏安特性测试 )
目录 一、实验目的 二、实验设备 三、预习内容(如:基本原理、电路图、计算值等) 1、测定线性电阻的伏安特性 2、二极管伏安特性测试 3、测定实际电压源的伏安特性 四、实验数据及结果分析(预习写必要实验步骤和表格) 1、测定线性电阻的伏安特性 2、二极管伏安特性测…...
【Java】泛型的简单使用
文章目录 一、包装类1.基本数据类型和对应的包装类2.自动装箱和自动拆箱3.手动装箱和手动拆箱 二、什么是泛型三、泛型的使用四、裸类型(Raw Type)五、泛型是如何编译的六、泛型的上界七、泛型方法总结 一、包装类 在了解泛型之前我们先了解什么是包装类…...
注册Zoho Mail邮箱:优势与使用体验
如何注册Zoho Mail邮箱?要注册Zoho Mail邮箱,首先打开浏览器,访问Zoho Mail官网,点击页面右上角的“创建帐户”按钮。接下来,按照提示输入你的姓名、生日和性别,以及一个有效的手机号码或电子邮件地址。然后…...
第十四届蓝桥杯大赛国赛模拟题C++卷1
第十四届蓝桥杯大赛国赛模拟题C++卷1 一、选择题 1、在数组中,数组名表示( ) A.数组第1个元素的首地址 B.数组第2个元素的首地址 C.数组所有元素的首地址 D.数组最后1个元素的首地址答案:A.数组名是一个地址,指向第一个元素 2、下列叙述中正确的是( ) A.顺序存储结构的…...
基于UDP的TFTP文件传输
代码: #include <myhead.h>//实现下载功能 int download(int cfd,struct sockaddr_in sin) {char buf[516] ""; //定义资源包char fileName[128] ""; //定义文件名printf("请输入文件名:");scanf("%s",fileName…...
抵御代码重用攻击:指针认证(PAC)和分支目标识别(BTI)
目录 一、代码重用攻击历史 二、小工具(Gadgets):它们是什么?为什么它们很危险? 三、ROP攻击...
业务逻辑漏洞
业务逻辑漏洞 扫描器扫不出来 漏洞包括 暴力破解任意用户/密码登陆短信/邮箱轰炸验证码绕过/爆破/重放/回传用户名/手机号枚举(用户名枚举:当用户登录时,显示用户名不存在,或密码不正确,两个其中一个不正确就称为用户名枚举)越…...
视频剪辑效率翻倍:Qwen3-ForcedAligner-0.6B自动字幕生成实战体验
视频剪辑效率翻倍:Qwen3-ForcedAligner-0.6B自动字幕生成实战体验 1. 为什么你需要这个字幕生成工具 手动添加字幕可能是视频制作过程中最耗时的环节之一。传统方法需要反复听录音、手动打轴、调整时间码,一个10分钟的视频可能需要花费1-2小时。而Qwen…...
EasyAnimateV5图生视频教程:如何用LoRA Alpha=0.55增强特定风格表现力
EasyAnimateV5图生视频教程:如何用LoRA Alpha0.55增强特定风格表现力 1. 了解EasyAnimateV5图生视频模型 EasyAnimateV5-7b-zh-InP是一个专门用于图生视频任务的AI模型,它能够将输入的静态图片转换为动态视频。这个模型有70亿参数,占用22GB…...
GLM-4.1V-9B-Base在Web开发中的融合:Node.js后端服务集成实践
GLM-4.1V-9B-Base在Web开发中的融合:Node.js后端服务集成实践 1. 引言:当Node.js遇见多模态AI 想象一下,你的电商网站用户上传了一张商品图片,系统不仅能自动识别商品类别,还能生成吸引人的营销文案——这就是GLM-4.…...
解锁B站资源:DownKyi视频下载的7个实用维度
解锁B站资源:DownKyi视频下载的7个实用维度 【免费下载链接】downkyi 哔哩下载姬downkyi,哔哩哔哩网站视频下载工具,支持批量下载,支持8K、HDR、杜比视界,提供工具箱(音视频提取、去水印等)。 …...
Wux Weapp 终极国际化方案:打造多语言小程序完整指南
Wux Weapp 终极国际化方案:打造多语言小程序完整指南 【免费下载链接】wux-weapp :dog: 一套组件化、可复用、易扩展的微信小程序 UI 组件库 项目地址: https://gitcode.com/gh_mirrors/wu/wux-weapp 想要让你的微信小程序走向全球市场吗?Wux Wea…...
HsMod:革新性炉石传说增强工具全方位提升游戏体验
HsMod:革新性炉石传说增强工具全方位提升游戏体验 【免费下载链接】HsMod Hearthstone Modification Based on BepInEx 项目地址: https://gitcode.com/GitHub_Trending/hs/HsMod 在快节奏的炉石传说对战中,冗长的动画、繁琐的操作流程以及有限的…...
VideoAgentTrek-ScreenFilter艺术化过滤效果:将敏感区域替换为创意图案而非简单模糊
VideoAgentTrek-ScreenFilter艺术化过滤效果:将敏感区域替换为创意图案而非简单模糊 最近在折腾视频内容处理时,我发现了一个挺有意思的新玩法。传统的视频敏感信息处理,比如给人脸打码、给车牌模糊,总是显得有点生硬,…...
VSCode + WSL2开发环境搭建:Windows10下的高效Linux开发体验
VSCode WSL2开发环境搭建:Windows10下的高效Linux开发体验 在Windows系统上进行Linux开发一直是件令人头疼的事情——双系统切换麻烦,虚拟机性能堪忧,远程服务器又受限于网络环境。直到微软推出WSL2(Windows Subsystem for Linux…...
从电解到瓷片:不同材质去耦电容在电路设计中的最佳应用场景对比
从电解到瓷片:不同材质去耦电容在电路设计中的最佳应用场景对比 当你在设计一块电路板时,是否曾经为电源引脚旁那个小小的电容而犹豫不决?是选择便宜的电解电容,还是性能稳定的瓷片电容,亦或是价格不菲的钽电容&#x…...
国内垃圾分选设备厂家与市场发展趋势分析
国内垃圾分选设备市场概况目前,国内垃圾分选设备市场正在经历快速发展。随着环保意识的提升以及国家相关政策的推动,垃圾分类和资源回收成为社会各界关注的焦点。我们注意到,近年来,许多城市相继实施了垃圾分类政策,这…...
