新闻详情

新闻详情

首页 / 资讯中心 / 详情

题解:AT_abc477_d [ABC477D] Masking Tape

发布时间:2026/10/2 15:45:21来源:尧图网络
题解:AT_abc477_d [ABC477D] Masking Tape
题意简述N 个格子初始颜色全是a。操作1 X格子 X 胶带状态切换 —— 有胶带就撕掉没胶带就贴上。操作2 C所有当前没有胶带的格子全部改成颜色c。有胶带的格子不受这次染色影响。我们维护 2 个数组lst[]时间戳记录这个格子最近一次撕掉胶带是第几号查询ok[]bool表示当前 x 格子有没有贴胶带。1表示贴了0表示没贴。再维护 1 个变量g保存最近一次 type2 的颜色。核心思路如果是 1 X翻转胶带情况 A本来没有胶带现在贴上胶带贴上胶带之后后面所有 type2 染色都碰不到这个格子。 那贴上去这一刻格子的颜色是什么 如果这个格子上次撕胶带的时间lst[x] ≤ 最近一次染色时间dq说明在贴胶带前它已经被全局染成g了。把这个颜色存到c[x]固定下来。ok[x]1标记贴上胶带。情况 B本来贴着现在撕掉撕掉之后这个格子会接收之后所有 type2 染色。 我们只要记下这次撕胶带发生在第i号查询。lst[x]i。ok[x]0标记被撕。如果是 2 C全局染色无胶带格子改成 C不用循环直接更新全局变量gCdqi把这次染色的查询号记下来。最后输出答案的时候对每个格子 i如果ok[i]true现在还贴着胶带。胶带挡住后面所有染色它的颜色就是当初贴胶带那一刻存下来的c[i]。如果ok[i]false现在没有胶带那要看【撕掉胶带的时间】和【最后一次全局染色时间】谁更晚就行了。完整代码#includebits/stdc.h #define fr1(i,a,b) for(int (i)(a);(i)(b);(i)) #define fr2(i,a,b) for(int (i)(a);(i)(b);--(i)) #define fr3(i,a,b,n) for(int (i)(a);(i)(b);(i)(n)) #define fr4(i,a,b,n) for(int (i)(a);(i)(b);(i)-(n)) #define fv(i,p) for(auto (i):(p)) #define written using #define ll long long #define ull unsigned ll #define pii pairint,int #define pll pairll,ll #define by namespace #define _1st first #define _2nd second #define qz5zwangzihan1 std #define y1 yy1 #define elif else if #define RT return #define debug coutendl-------------------------------------------------------------endl written by qz5zwangzihan1; const int MAXN300005; int n,q; bool ok[MAXN]; char c[MAXN]; int lst[MAXN]; char g; int dq; int main(){ ios::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); cinnq; ga; fr1(i,1,n) lst[i]0; fr1(i,1,q){ int op; cinop; if(op1){ int x;cinx; if(!ok[x]){ ok[x]1; if(lst[x]dq){ c[x]g; } }else{ ok[x]0; lst[x]i; } }else{ char ccc; cinccc; gccc; dqi; } } string ans; fr1(i,1,n){ if(ok[i]){ ansc[i]; }else{ if(lst[i]dq){ ansg; }else{ ansc[i]; } } } coutans; RT 0; }
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

Neo4j电影知识图谱问答系统:从零搭建毕业设计实战 2026/10/2 18:09:35

Neo4j电影知识图谱问答系统:从零搭建毕业设计实战

简介:这是一套面向计算机专业本科生的毕业设计级项目资源,聚焦知识图谱与自然语言处理交叉应用,为正在开展毕设、课程设计或期末大作业的学生提供可直接运行的电影领域问答系统完整实现。资源基于Python与Neo4j构建,涵盖知识抽取、…

阅读更多 →
MySQL datadir迁移实战:路径变更、权限修复与启动验证 2026/10/2 18:09:35

MySQL datadir迁移实战:路径变更、权限修复与启动验证

简介:本资源是一份面向Linux系统管理员与MySQL运维工程师的实战迁移指南,聚焦数据库data文件夹位置调整这一高频运维需求,解决因/var分区空间不足、数据安全加固或存储性能优化引发的路径迁移问题。资源以PDF文档形式提供,共1个文…

阅读更多 →
Fastjson 漏洞 · 02 · autoType 机制与 checkAutoType 2026/10/2 18:09:35

Fastjson 漏洞 · 02 · autoType 机制与 checkAutoType

引子:为什么"同一个 payload"在不同版本时灵时不灵只从网上抄 payload,很容易遇到这种困惑:同一个{"type":"com.sun.rowset.JdbcRowSetImpl", ...}有人说"能打",有人说"早修了"…

阅读更多 →
Android 14 QuickstepTransitionManager源码深度解析 2026/10/2 18:09:34

Android 14 QuickstepTransitionManager源码深度解析

1. 项目概述:为什么一个Launcher动画管理器值得深挖到源码级在AOSP Android 14的Launcher3工程里,QuickstepTransitionManager这个类名乍看平平无奇——它既不叫AnimationController,也不叫MotionEngine,甚至没带“Animator”后缀…

阅读更多 →
Python文本驱动知识图谱构建实战:从非结构化文本到可查询图谱 2026/10/2 18:09:14

Python文本驱动知识图谱构建实战:从非结构化文本到可查询图谱

简介:这是一套面向Python开发者与知识图谱初学者的自动化文本分析实践项目,聚焦从非结构化文本中高效提取实体关系、构建可扩展知识图谱的核心流程。资源共26个文件,含9个Python源码(涵盖config.py配置管理、scrach.py/sink.py主控…

阅读更多 →
Java电影网站开发实战:Spring Boot从零搭建与避坑指南 2026/10/2 18:09:14

Java电影网站开发实战:Spring Boot从零搭建与避坑指南

简介:这是一套基于SSM框架与Vue前端的完整电影网站系统源码,面向Java Web初学者与课程设计学生,解决毕业设计、实训项目中缺乏可运行全栈案例的问题。资源包含880个文件,涵盖144个Java后端逻辑类、53个Vue组件、167个JS交互脚本、…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉