Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.
Nástěnka
❗22. 8. 2021 (L) Přecházíme zpět na doménu forum.matweb.cz!
❗04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
❗23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.
Nejste přihlášen(a). Přihlásit
Stránky: 1
Ahoj můžete mi někdo prosím pomoct s následujícím příkladem ? Cokoli co vás napadne :)
Děkuji
Definujme funkci f, která přiřařuje sekvencím celých čísel sekvence celých čísel následujícím způsobem:
sekvenci ⟨x1, x2, . . . , xn⟩ délky n přiřadí sekvenci ⟨y1, y2, . . . , ym⟩ délky m = n · (n − 1)/2,
přičemž sekvenci ⟨y1, y2, . . . , ym⟩ dostaneme tak, že vezmeme všechny dvojice čísel (xi,xj),
kde 1 ≤ i < j ≤ n, každou takovou dvojici čísel sečteme a výsledné hodnoty těchto m součtů seřadíme od nejmenšího po největší. (Pozn.: Všimněme si, že z n čísel můžeme vytvořit právě n · (n − 1)/2 dvojic.)
Navrhněte a detailně popište algoritmus s polynomiální časovou složitostí řešící následující problém:
Vstup: Číslo n a posloupnost ⟨y1, y2, . . . , ym⟩ tvořená celými čísly, přičemž m = n·(n−1)/2.
Výstup: Nějaká posloupnost ⟨x1, x2, . . . , xn⟩ celých čísel taková, že f(⟨x1,x2,...,xn⟩) = ⟨y1,y2,...,ym⟩, nebo informace, že žádná taková posloupnost neexistuje.
Poznámka: Funkce f není ani injektivní ani surjektivní. Pro danou posloupnost ⟨y1, y2, . . . , ym⟩ může tedy existovat více různých posloupností ⟨x1, x2, . . . , xn⟩ takových, že f(⟨x1, x2, . . . , xn⟩) = ⟨y1, y2, . . . , ym⟩, nebo nemusí existovat žádná. Pokud jich existuje více, stačí, když algoritmus najde jednu z nich.
Offline

Algoritmus je popsán na webu topcoder: http://www.topcoder.com/tc?module=Stati … ;d2=srm182 pod názve PairwiseSums.
Řešení tam uvedené vychází z toho, že x1 je z omezeného rozsahu a dá se najít zkoušením všech možností. Pokud chceme mít zaručenu polynomiální složitost, vyjdeme z toho, že známe x1+x2 a x1+x3 a budeme "tipovat", který ze součtů v y je roven x2+x3. Tím složitos naroste n(n-1)/2-krát a zůstane polynomiální.
Offline
Stránky: 1