Compartilhamento de tecnologia

A 14ª Competição Provincial da Copa Lanqiao CB Grupo G Pergunta [Abreviação da Substring] Solução (AC)

2024-07-06

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

A ideia geral do tema

dada string seme,personagem um, um, um ba,b, pergunte a string seme Quantos há em aaa começo bbb A substring final.

Ideias para resolução de problemas

20 pontos

Use um loop duplo para enumerar o ponto final esquerdo e o ponto final direito para determinar se é aaa começo bbb A string no final é a resposta mais um.

100 pontos

O intervalo de dados é grande e precisamos controlar a complexidade do tempo dentro O ( n log ⁡ n ) O(nlog n)O(nãoãoeisgnãoão) Dentro de.

Fayi

precisamos encontrar tudo aaa começo bbb final da string, então podemos para cada caractere bbb, vá e veja bbb Quantos há no lado esquerdo aaa, então estes a … b adota bab É uma sequência legal.Conte quantos caracteres estão no lado esquerdo de uma determinada posição aaa, podemos usarsoma do prefixoO algoritmo é mantido.

Método 2

Podemos iterar por toda a string, para cada aaa Quantos caracteres existem à direita do personagem bbb, então estes a … ba pontos bab Todas são strings legais.Contar caracteres após uma determinada posição bbb O número pode ser usadosoma do sufixoO algoritmo é mantido.

#include