Pagini recente » Diferente pentru blog/cunoasterea-pe-net intre reviziile 3 si 4 | Diferente pentru runda/simulare_oni_z1_2k8 intre reviziile 3 si 2 | Diferente pentru jc2023/solutii/permdist intre reviziile 2 si 1 | Diferente pentru runda/test193120947281 intre reviziile 3 si 2 | Diferente pentru onis-2015/solutii-runda-1 intre reviziile 46 si 45
Nu exista diferente intre titluri.
Diferente intre continut:
Daca avem textul T: aaaaaaa
si un cuvant un dictionar C: aaaaaaa
numarul de aparitii ale lui C in T este 1 dar numarul de aparitii ale unui prefix al lui C in T este <tex>O(L^2^)</tex> unde L este lungimea lui C. Urmarind procedeul de mai sus putem da peste o explozie in vectorii $matches$, dimensiunea lor find de ordinul <tex>O(Nr.aparitii.cuvinte*L^2^)</tex>. Pentru a remedia acest lucru, vom mentine in fiecare nod o valoare booleana care ne spune daca urmarind pointerul _fail_ mai putem ajunge la un nod terminal. Daca aceasta valoare este false, nu mai copiem continutul vectorului _matches_ al nodului curent mai departe.
numarul de aparitii ale lui C in T este 1 dar numarul de aparitii ale unui prefix al lui C in T este <tex>O(L^2^)</tex> unde L este lungimea lui C. Urmarind procedeul de mai sus putem da peste o explozie in vectorii $matches$, dimensiunea lor find de ordinul <tex>O(Nr.aparitii.cuvinte*L^2^)</tex>. Pentru a remedia acest lucru, vom mentine in fiecare nod o valoare booleana care ne spune daca urmarind pointerul _fail_ mai putem ajunge la un nod terminal. Daca aceasta valoare este *false*, nu mai copiem continutul vectorului _matches_ al nodului curent mai departe.
Pana acum avem complexitate <tex>O(N + Nr.cuvinte*L + Nr.aparitii.cuvinte*L)</tex>.
Nu exista diferente intre securitate.
Topicul de forum nu a fost schimbat.