Teknologian jakaminen

14. Lanqiao Cupin maakuntakilpailun CB Group G -kysymys [alamerkkijonolyhenne] ratkaisu (AC)

2024-07-06

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

Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän
Lisää kuvan kuvaus tähän

Aiheen yleinen idea

annettu merkkijono sss,merkki a, ba, ba,b, kysy merkkijono sss Kuinka monta siellä on aaa alku bbb Päättyvä osamerkkijono.

Ideoita ongelmanratkaisuun

20 pistettä

Käytä kaksoissilmukkaa laskeaksesi vasemman ja oikean päätepisteen määrittääksesi, onko se aaa alku bbb Merkkijono lopussa on vastaus plus yksi.

100 pistettä

Tietoalue on suuri, ja meidän on säädettävä ajan monimutkaisuus O (n log ⁡ n ) O(nlog n)O(nlogn) Sisällä.

Fayi

meidän on löydettävä kaikki aaa alku bbb merkkijonon loppuun, voimme jokaisen merkin kohdalla bbb, mene ja näe bbb Kuinka monta niitä on vasemmalla puolella aaa, sitten nämä a … b adots bab Se on laillinen merkkijono.Laske kuinka monta merkkiä on tietyn kohdan vasemmalla puolella aaa, voimme käyttääetuliitteen summaAlgoritmi säilyy.

Menetelmä 2

Voimme iteroida koko merkkijonon läpi kullekin aaa Kuinka monta hahmoa on hahmon oikealla puolella bbb, sitten nämä a … ba pisteitä bab Kaikki ovat laillisia sarjoja.Laske merkit tietyn kohdan jälkeen bbb Numeroa voidaan käyttääpääte summaAlgoritmi säilyy.

#include