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+ci%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.jlcmZ7JIjFc3 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