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

Kombinatoryczne programowanie dynamiczne, zadanie "Nawiasy"

Object Storage Arubacloud
0 głosów
126 wizyt
pytanie zadane 2 grudnia 2020 w Algorytmy przez wojtek_suchy Mądrala (6,880 p.)
edycja 2 grudnia 2020 przez wojtek_suchy
Mam takie zadanie:
Działanie odejmowania nie jest łączne, np.(5−2)−1 = 2, natomiast 5−(2−1) = 4, a zatem (5−2)−1 = 5−(2−1). Wynika stąd, że wartość wyrażenia postaci 5−2−1zależy od kolejności wykonywania odejmowań. Zwykle przy braku nawiasów przyjmuje się, że wykonujemy działania wkolejności od lewej do prawej, czyli wyrażenie 5−2−1 jest równoważne wyrażeniu (5−2)−1. Mamy dane wyrażenie postaci:x1±x2±···±xn gdzie ± oznacza +(plus) lub−(minus), ax1, x2,···, xn oznaczają (parami) różne zmienne. Chcemy w wyrażeniu postaci:x1−x2−···−xn tak rozstawić n−1 par nawiasów, aby jednoznacznie określić kolejność wykonywania odejmowań i jednocześnie uzyskać wyrażenie równoważne danemu. Na przykład, chcąc uzyskać wyrażenie rów-noważne wyrażeniu:x1−x2−x3+x4+x5−x6+x7 możemy w:x1−x2−x3−x4−x5−x6−x7 rozmieścić nawiasy w następujący sposób:(((x1−x2)−((x3−x4)−x5))−(x6−x7))
Uwaga: Interesują nas tylko wyrażenia w pełni i poprawnie ponawiasowane. Wyrażeniem w pełnii poprawnie ponawiasowanym jest
•pojedyncza zmienna,
•wyrażenie postaci(w1−w2), w którym w1 i w2 to w pełni i poprawnie ponawiasowane wyrażenia. Nieformanie mowiąc, nie interesują nas wyrażenia, w których występują na przykład konstrukcjepostaci:(),(xi),((···))lubx1−(x2−x3).
Wejście
W pierwszym wierszu standardowego wejścia zapisana jest jedna liczba całkowita n, (2 <= 5000).Jest to liczba zmiennych w danym wyrażeniu. W każdym z kolejnychn−1wierszy jest zapisanyjeden znak,+lub−. Wi-tym wierszu zapisany jest znak występujący w danym wyrażeniu międzyxi−1axi.
Wyjście
Twój program powinien zapisać w pierwszym wierszu standardowego wyjścia jedną liczbę całkowitąrówną ilości różnych sposobów (modulo109), na jakie można rozstawićn−1par nawiasów wwyrażeniux1−x2−···−xntak, aby jednoznacznie określić kolejność wykonywania odejmowań ijednocześnie uzyskać wyrażenie równoważne danemu.
PrzykładDla danych wejściowych:
7

-
+
+

+

poprawnym wynikiem jest:3
I nie mam kompletnie pomysłu jak do tego podejść, czy moglibyście mi jakoś pomóc ? :D
komentarz 2 grudnia 2020 przez tkz Nałogowiec (42,000 p.)

Wklej treść...

komentarz 2 grudnia 2020 przez wojtek_suchy Mądrala (6,880 p.)
Przepraszam, zapomniałem że do niektórych zadań trzeba się logować
komentarz 2 grudnia 2020 przez Whistleroosh Maniak (56,980 p.)
To zadanie jest całkiem trudne. Ono jest z finału OI. Ja sam go nie umiem rozwiązać na 100. Mogę ewentualnie powiedzieć jak mniej więcej wygląda rozwiązanie w O(n^3)

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
0 odpowiedzi 150 wizyt
pytanie zadane 31 sierpnia 2019 w Offtop przez reaktywny Nałogowiec (40,930 p.)
0 głosów
0 odpowiedzi 522 wizyt
0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 8 grudnia 2018 w PHP przez detmold Nowicjusz (180 p.)

92,542 zapytań

141,383 odpowiedzi

319,482 komentarzy

61,929 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!

...