• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

ilość podciągów o sreniej >= P - poziom olimpijski

Object Storage Arubacloud
0 głosów
370 wizyt
pytanie zadane 26 września 2019 w C i C++ przez jjanickij Użytkownik (510 p.)
edycja 26 września 2019 przez jjanickij
Witam, mam problem z zadaniem. Ktos ma jakis pomysl na rozwa?

Są wysokie ograniczenia na złoznosc, kombinowalem z backtrackingiem ale O(2^n) to nie jest zadowalające rozwiąznanie. Nie musi byc gotowiec, prosze chociaz o jakis pomysl
PODCIĄGI MAJĄ BYĆ SPÓJNE
Z gory dzieki :)

tresc nizej:

https://ibb.co/rGz2zp0
komentarz 26 września 2019 przez niezalogowany
komentarz 27 września 2019 przez jankustosz1 Nałogowiec (35,880 p.)

@jjanickij, Powiedziałbyś jakie było rozwiązanie?

1 odpowiedź

0 głosów
odpowiedź 27 września 2019 przez Whistleroosh Maniak (56,980 p.)

Nie jestem pewien czy moje rozwiązanie jest poprawne, ale pomyśl co by było gdybyś podszedł do tego zadania od drugiej strony. Co gdybyś od ilości wszystkich spójnych podciągów odjął ilość spójnych podciągów o średniej mniejszej niż P.

Ilość wszystkich spójnych podciągów obliczymy ze wzoru n*(n+1)/2, natomiast problematyczne jest wyznaczenie podciągów o średniej < P. Mój pomysł jest taki, aby obliczyć to w następujący sposób:

1) od każdej liczby a_i ciągu podanego na wejściu odejmij P, co utworzy nam nowy ciąg, w którym niektóre wartości są ujemne, niektóre dodatnie, a niektóre zerami

2) na podstawie tego ciągu oblicz prefiksy, takie że p[0] = 0, a p[i] (gdzie i > 0) jest równe sumie wszystkich elementów ciągu od a_0 do a_{i-1}

3) teraz znajdź liczbę inwersji w tablicy sum prefiksowych

4) otrzymaną liczbę inwersji odejmij od ilości wszystkich spójnych podciągów i powinieneś otrzymać wynik końcowy

To powinno zadziałać, ale tak jak mówiłem, nie mam co do tego pewności.

 

Podobne pytania

+2 głosów
1 odpowiedź 470 wizyt
pytanie zadane 7 sierpnia 2019 w Algorytmy przez piotrsz109 Stary wyjadacz (13,730 p.)
0 głosów
0 odpowiedzi 343 wizyt
pytanie zadane 24 września 2019 w C i C++ przez jjanickij Użytkownik (510 p.)
0 głosów
0 odpowiedzi 191 wizyt
pytanie zadane 24 września 2019 w C i C++ przez jjanickij Użytkownik (510 p.)

92,589 zapytań

141,440 odpowiedzi

319,697 komentarzy

61,974 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...