Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Słaby przywódca ciągu, liczba inwersji

Ostatnio zmodyfikowano 2017-12-27 08:20
Autor Wiadomość
themandi
Temat założony przez niniejszego użytkownika
Słaby przywódca ciągu, liczba inwersji
» 2017-12-24 14:44:40
Mam problem ze zrozumieniem tego zadania:


Kreatywnie wykorzystaj znane rozwiązanie podobnego problemu:

Słaby przywódca ciągu

Słabym przywódcą ciągu jest element, który występuje w nim więcej niż n/k razy (dla ustalonego k). Jak wykorzystać algorytm dla przywódcy  (druga transformacja) do efektywnego wyznaczenia jednego ze słabych przywódców?

Liczba inwersji (dwie posortowane tablice)

Jak efektywnie policzyć liczbę inwersji pomiędzy elementami dwóch posortowanych tablic A i B (inwersję tworzy dowolna para (i,j) taka, że A>B[j])?
Jako rozwiązanie prześlij kod działającego (i zaopatrzonego w obfite komentarze) programu.

czy jest ktoś w stanie w miarę zrozumiale wytłumaczyć mi to?
P-168089
darko202
» 2017-12-27 08:20:30
0.
zacznij od dobrego zapytania w google np. "Słaby przywódca ciągu algorytm"
https://www.google.pl/search​?ei=mEBDWqW1HdLSkwWm7bGABQ​&q=S%C5%82aby+przyw%C3%B3dca+c​i%C4%85gu+algorytm​&oq=S%C5%82aby+przyw%C3%B3dca+​ci%C4%85gu+algorytm​&gs_l=psy-ab.3..33i160k1.312488.319898.0.320465.9.9.0.0.0.0.190.767.7j2.9.0....0...1.1.64.psy-ab..0.9.758...0i22i30k1j33i21k1.0.jlcmZ7JIjFc

3 pierwsze linki pozwalają zrozumieć o co może chodzić ze "słabym przywódcą ciągu".

1.
problemem jest jeszcze tylko :
Jak efektywnie policzyć liczbę inwersji pomiędzy elementami dwóch posortowanych tablic A i B (inwersję tworzy dowolna para (i,j) taka, że A[ i ] >B[ j ])?

znów w google np."inwersja definicja" + "liczba inwersji algorytm" 
i znów kilka wyników, które przybliżają nas do rozwiązania

2.
jeszcze tylko spostrzeżenie, że chyba wielkość obu tablic musi być identyczna.

3.
jak mógłby wyglądać taki algorytm

B = { 7,5,4,2 }
A = { 3,2,5,1 }

po posortowaniu

B = { 2,4,5,7 }
A = { 1,2,3,5 }


czyli powtarzamy
{
 czy A[ i ]  > B [ i ] stąd pierwsza inwersja

B = { 1,4,5,7 }
A = { 2,2,3,5 }

sprawdzamy czy tablic nie trzeba sortować ?
}

po czym chyba otrzymamy :

B = { 1,2,5,5 }
A = { 2,3,4,7 }

3.
tak byłoby gdyby nie warunek
>> dowolna para (i,j) taka, że A[ i ] >B[ j ])?

czyli powinniśmy chyba otrzymać
B = { 1,2,2,3 }
A = { 4,5,5,7 }

czyli dwie pętle po i i j

4.
i znów spostrzeżenie, że dla takiego algorytmu wielkość obu tablic nie musi być identyczna. można to zrobić dla np.
B = { 7,5,4,2,9,0 }
A = { 3,2,5,1
takich tablic

5.
>> Jak wykorzystać algorytm dla przywódcy  (druga transformacja) do efektywnego wyznaczenia jednego ze słabych przywódców?

>> (druga transformacja)
to musi być jakiś algorytm, który miałeś na zajęciach z ... ?
np. "Kombinatoryki"

a reszta dotyczy chyba złożoności algorytmu,
czyli szukamy najefektywniejszego
zapytania w google np. "złożoność obliczeniowa algorytmów"

Powodzenia  
P-168140
« 1 »
  Strona 1 z 1