当前位置: 首页 > news >正文

3 ABC411 C ~ E题解

ABC411 C~E 题解

又是赤石的一天

C

有个长度为 \(N\) 的序列,初始序列中每个数为0

每次操作给定 \(pos\) ,将 pos^1 ,然后输出序列中有多少段不连续的 1

用小样例模拟一下可得,设当前颜色为 \(b\) ,左边颜色为 \(a\) ,右边颜色为 \(c\) ,序列中不连续 1 的段数为 \(cnt\)

  • \(a\ne b\ 且\ b \ne c\ \to\ cnt \verb|-=|1\)
  • \(a = b\ 且\ b = c\ \to\ cnt \verb|+=|1\)

D

有一台服务器和 \(N\) 台 PC 。服务器和每台 PC 各持有一个字符串,最初所有字符串都是空的。PC 从 \(1 \sim N\) 编号

给出了 \(Q\) 个操作。每个操作都是以下格式之一:

  • 1 p:用 服务器 的字符串替换 \(p\) 的字符串。
  • 2 p s:在 \(p\) 字符串的末尾添加字符串 \(s\)
  • 3 p:用 \(p\) 的字符串替换 服务器 的字符串。

按照给定的顺序处理所有查询后,找出 服务器 的最终字符串。

一开始我想用 string 水过,但 T 飞了,因为 string 赋值操作的时间复杂度是 O(len) 的,后来查了查,发现 string 的很多操作都是 O(len) 的,以后要慎用

下面是正解

用链表来记录下每个 PC 的尾部字符串的编号,以及每个字符串的父串 (注意不能记录每个节点的子节点,这样在修改尾部时会丢失信息)

code

#include <iostream>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <vector>using namespace std;const int N = 2e5 + 10;int n, m;
int f[N], p[N];
string s[N];int main () {scanf ("%d%d", &n, &m);memset (p, -1, sizeof p);int rt = 0, cnt = 0;for (int i = 1; i <= m; i++) {int op, x;cin >> op >> x;if (op == 1) {p[x] = p[rt];} else if (op == 2) {cin >> s[++cnt];if (p[x] == -1) {p[x] = cnt;f[cnt] = -1;} else {f[cnt] = p[x];p[x] = cnt;}} else {p[rt] = p[x];}}vector <string> ans;for (int i = p[rt]; i != -1; i = f[i]) {ans.push_back (s[i]);}for (int i = (int)ans.size() - 1; i >= 0; i--) {cout << ans[i];}cout << endl;return 0;
}
http://www.hskmm.com/?act=detail&tid=28265

相关文章:

  • 9 ABC408 D~F 题解
  • 8 ABC425 G 题解
  • 智能防御,安全赋能:AI-FOCUS 滤海AI DLP 化解外部 AI 风险
  • IDEA快捷键
  • VS code 中代码补全 自动补全函数括号
  • 优先队列
  • 学习ReAct并使用langgraph实现一个简单的ReAct AI Agent!!
  • abc 408 d~f
  • RMQ与LCA学习笔记
  • mamba-硬件感知算法
  • Java1
  • 完整教程:lua代码解析1
  • 二维数点
  • gitee和github如何修改仓库名并且保持与原远程仓库的连接?(手把手教学) - 实践
  • 2025.10.10总结 - A
  • [20251010]建立完善tpt的prr.sql脚本.txt
  • 第十一篇
  • testtest
  • 题解:AT_arc138_f [ARC138F] KD Tree
  • SP33 TRIP - Trip 个人题解
  • 经营不是老板一个人的事 - 智慧园区
  • Codeforces Round 1051 (Div. 2)[A ~E]
  • 如何在 Spring Boot 应用中配置多个 Spring AI 的 LLM 客户端
  • 使用eBPF技术保护FastAPI安全
  • 项目案例作业2:对案例进行面向对象分析
  • JavaSE
  • CF2064E Mycraft Sand Sort
  • Servlet笔记
  • 第一个博客
  • k8s 主节点重启后 从节点 get 异常 - 教程