D. Peculiar Movie Preferences(思维 + 一个坑)
创始人
2025-05-28 04:23:31
0

Problem - D - Codeforces

米海打算去看电影。他只喜欢回文电影,所以他想跳过一些(可能是零)场景,让电影的其余部分变成回文。给你一个包含n个长度不超过3的非空字符串的列表,代表Mihai的电影场景。如果s的子序列非空,并且子序列中字符串的串联顺序为回文,则称为awesome。你能帮Mihai检查是否至少有一个很棒的s子序列吗?一个回文是向后读和向前读一样的字符串,例如字符串"z", "aaa", "aba", "abccba"是回文,但是字符串"codeforces", "reality", "ab"不是。序列A是非空序列b的非空子序列,如果A可以通过删除几个(可能为0,butnotal) eleents。输入输入的第一行包含一个整数t (1 t < 100)测试用例的数量。测试用例的描述如下。每个测试用例的第一行包含一个整数n (1 < n < 105)——电影中的场景数。然后是n行,第i行包含一个长度不超过3的非空字符串s,由小写拉丁字母组成。它保证所有测试用例的n和不超过105。输出对于每个测试用例,如果存在一个很棒的s子序列,则打印“YES”,否则打印“NO”(不区分大小写)。

Example

input

Copy

 

6

5

zx

ab

cc

zx

ba

2

ab

bad

4

co

def

orc

es

3

a

b

c

3

ab

cd

cba

2

ab

ab

output

Copy

YES
NO
NO
YES
YES
NO

题解:
这题思路并不难想,记录每个串的前缀即可,看后来的串整个反转或后缀反转.是否出现过即可

但是有一个很大的坑点,就是需要两个map来记录

为什么?

由于我们会记录前缀,长度为3时记录(01,012),前缀为0时不需要记录的,因为如果出现单个字母,则一定成立

长度为2时记录(01),理由同上

但是我们在询问反转后缀时会有这几种情况

长度为2时,询问整个反转(10)是否出现过,没什么问题

长度为3时,询问整个反转(210)是否出现过,也没什么问题

关键是

长度为3时,询问反转(21),肯能会出现与记录长度为3时(01)向匹配

类似abc  dba,尽管前后缀相配,但却不对的

所以用两个map记录

记得特判首位相同的情况

#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
//#define int long long
const int N = 2e5 + 10;
typedef pair PII;
typedef long long ll;
void solve() 
{int n;cin >> n;int ff = 0;map  a;map b;for(int i = 1;i <= n;i++){string s;cin >> s;string p(s),q(s);q.erase(0,1);reverse(q.begin(),q.end());reverse(p.begin(),p.end());if(a[q]||a[p]||b[p])ff = 1;if(s.front() == s.back() || s.size() == 1)ff = 1;a[s] = 1;s.erase(s.size()-1,1);b[s] = 1;}if(ff){cout <<"YES\n";}else{cout <<"NO\n";}
}//1 2 4
signed main() 
{
//	ios::sync_with_stdio(0);
//	cin.tie(0);cout.tie(0);int t = 1;
//	cin >> t;
scanf("%d",&t);while (t--) {solve();}
}
//1 1 1 0 1//1 1 1 0 1
//1 1 1 0 1
//1 1 1 0 1
//0 1 1 1 1
//0 1 1 1 1

 

相关内容

热门资讯

《JavaEE》进程调度的基本... ps:上一篇的知识没有讲全 此篇为补充~  目录 什么是进程? 进程...
小白学Pytorch系列--T... 小白学Pytorch系列–Torch API (9) Other Operations atlea...
Java 注解(详细学习笔记) 注解 注解英文为Annotation Annotation是JDK5引入的新的技术 Annota...
00、数据结构绪论 00、数据结构绪论 数据是信息的载体 数据元素:每一个个体,往下拆分是不...
【党建文化】粽香传情,法润人心... 端午临仲夏,时清日复长。在端午佳节来临之际,为弘扬中华优秀传统文化,深化党群共建工作,传递律所人文关...
上海金融监管局:持续稳步推进金... 钛媒体App 5月30日消息,上海金融监管局副局长王鑫泽在上海市政府新闻发布会上表示,近年来上海金融...
绿盟科技:公司按照相关法律法规... 证券之星消息,绿盟科技(300369)05月30日在投资者关系平台上答复投资者关心的问题。 投资者提...
航天信息:公司未来如涉及相关事... 证券之星消息,航天信息(600271)05月30日在投资者关系平台上答复投资者关心的问题。 投资者提...
84、Latent-NeRF ... 简介 论文:https://arxiv.org/abs/2211.07600 dre...
栈(数据结构系列7) 前言: 这节中小编带你了解数据结构中的栈结构和队列结构,以及分别自己模拟...