1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol AI分析

解题思路

给定字符串 s,每轮给出一个对字符集的排列,表示优先级(越靠前优先级越高)。在该轮中,每个位置 i>0 的字符 s[i] 若其左邻居 s[i-1] 的优先级更高,则 s[i] 被同时消灭。也就是说:设 rank[c] 为该轮中字符 c 的名次(0 表示最高),那么当且仅当 rank[s[i-1]] < rank[s[i]] 时,位置 i 会被删除;其它位置保留。所有删除在本轮“同时”发生,判断时都以本轮开始时的原串为准。

据此可用线性扫描模拟每一轮:

  • 先把本轮的排列转成 rank[26]。
  • 从左到右扫描原串,保留 s[0],对 i=1..len-1,若 rank[s[i-1]] >= rank[s[i]] 则保留 s[i],否则丢弃。
  • 扫描过程中顺便统计新串的不同字符种类数,用于判断何时首次变为“单一字符”。

P3889.第2题-字符串迭代

    1000ms Tried: 28 Accepted: 6 Difficulty: 5 所属公司 : 小米
    算法与标签>模拟

题目内容

小饹有一个长度为 nnn 的字符串 sss ,该字符串由 mmm 种小写英文字母组成,该字符串会经过 qqq 轮迭代,每一轮迭代前会先给出字符集的排列,字符在排列中出现的位置越靠前,则表明该字符在该轮迭代中优先级更高。每一轮选代中,优先级更高的字符会同时“消灭“右侧优先级更低的相邻字符。

你需要回答经过 qqq 轮迭代后,字符串是否只剩下一种字符,如果是,输出一行“YESYESYES”,然后输出最早第几轮迭代后字符串只剩下一种字符、迭代结束后字符串的长度;否则,输出一行“NONONO”,然后输出一行迭代结束后的字符串。

输入描述

输入包括多组测试数据。输入第一行有一个正整数 T(1≤T≤100)T(1≤T≤100)T(1≤T≤100) ,表示测试数据的组数。

每组测试数据的第一行有两个正整数 n(2≤n≤105)n(2≤n≤10^5)n(2≤n≤105) 和 m(2≤m≤26)m(2≤m≤26)m(2≤m≤26) ,表示字符串的长度和字符集的大小;

接下来一行有一个由不重复小写英文字母组成的字符串,表示构成题目给定字符串的字符集;

接下来一行有一个由小写英文字母组成的字符串 sss ,表示题目给定的字符串;

接下来一行有一个正整数 q(1≤q≤10000)q(1≤q≤10000)q(1≤q≤10000) ,表示迭代的轮数;

接下来 qqq 行每行有一个字符集的排列,表示每一轮迭代中各个字符的优先级。

保证每个测试点的所有测试数据的 nnn 的和不超过 105、q10^5、q105、q 的和不超过 10410^4104 ,保证题目给定字符串至少由两种字符构成。

输出描述

对于每组测试数据,如果迭代结束后字符串只剩下一种字符,则输出一行“YESYESYES”,然后在第二行分别输出最早第几轮选代后字符串只剩下一种字符、迭代结束后字符串的长度;否则输出一行"NONONO”,然后在第二行输出迭代结束后的字符串。

样例1

输入

2
8 6
ceilov
iloveice
2
ievolc
loveci
5 2
ab
aaabb
2
ab
ab

输出

NO
ioe
YES
2 3

说明

对于第一组样例,第一轮迭代后字符串变成 ioveieioveieioveie,第二轮选代后字符串变成 ioeioeioe ,包含三种字符,输出一行“NONONO”;

对于第二组样例,第一轮迭代后字符串变成 aaabaaabaaab,第二轮选代后字特串变成 aaaaaaaaa ,仅剩一种字符,最早第二轮迭代后只剩下一种字符,选代结束后字符串长度为 333 ,输出一行“YESYESYES”、一行 222 和 333 。

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 1, 108ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?