Korespondenční Seminář z Programování
|
|
- Otto Vaněk
- před 8 lety
- Počet zobrazení:
Transkript
1 Korespondenční Seminář z Programování SOUTĚŽ KASIOPEA 26. ročník Vzorová řešení Duben 2014 V tomto textu naleznete popis a zdůvodnění autorských řešení úloh online soutěže Kasiopea 2014, která proběhla o víkendu března. Veškeré informace o soutěži včetně výsledků, zadání, vzorových zdrojových kódů a dalších informací naleznete na stránce soutěže: V případě nejasností kolem těchto řešení či jiných podnětů neváhejte napsat na naši adresu kasiopea@ksp.mff.cuni.cz. 26-K-1 Néreidky 10 bodů Úkolem bylo ze seznamu trojúhelníků zadaných souřadnicemi vybrat ten, který nabývá největšího obsahu. Označme si vrcholy trojúhelníka jako A = [x 1, y 1 ], B = [x 2, y 2 ] a C = [x 3, y 3 ]. Pravoúhlé trojúhelníky Ve vstupech za polovinu bodů byly všechny trojúhelníky pravoúhlé s odvěsnami AB a AC. Obsah takového trojúhelníka lze vypočítat jako AB AC (x1 x 2 ) S = = 2 + (y 1 y 2 ) 2 (x 1 x 3 ) 2 + (y 1 y 3 ) Délky stran AB a AC jsme spočetli pomocí Pythagorovy věty. Protože nás nezajímají skutečné obsahy, ale pouze jejich vzájemné porovnání, můžeme si ušetřit práci a neodmocňovat ani nedělit dvěma. Ve skutečnosti tak budeme počítat hodnotu 2S 2. Dovolit si to můžeme z toho důvodu, že umocnění i vynásobení dvojkou jsou na nezáporných číslech rostoucími funkcemi. Pro nezáporná a, b je ekvivalentní a < b s 2a 2 < 2b 2. Díky tomu si při výpočtu vystačíme pouze s celými čísly. Obecné trojúhelníky Obsah by šlo spočítat třeba pomocí Heronova vzorce, zde si ale ukážeme postup, který vede k jednoduššímu vzorečku. Podobně jako u pravoúhlých trojúhelníků se pokusíme najít způsob, jak si vystačit pouze s celými čísly. Místo počítání obsahu tohoto trojúhelníka budeme počítat obsah rovnoběžníku daného stranami AB a AC. Konkrétně myslíme rovnoběžník ABCD, kde bod D získáme jako průsečík rovnoběžky se stranou AB vedenou bodem C a rovnoběžky se stranou AC vedenou bodem B. Obsah rovnoběžníku ABCD je přirozeně dvojnásobkem obsahu trojúhelníka ABC. Abychom se dostali k rozumným výrazům, posuneme si rovnoběžník do nuly. Tedy zavedeme dvojici vektorů u = B A a v = C A. Jejich složky označme jako u = (x u, y u ) = (x 2 x 1, y 2 y 1 ) a v = (x v, y v ) = (x 3 x 1, y 3 y 1 ). Vzoreček pro spočítání obsahu rovnoběžníku daného těmito vektory je x u y v y u x v. 1
2 Vzoreček si můžete přímo odvodit, když si celou situaci nakreslíte. Také jej můžete odvodit jako determinant matice, jejímiž řádky budou souřadnice vektorů u a v, či jej odvodit pomocí vektorového součinu. (Tyto metody dávají obsah se znaménkem, je potřeba přidat ještě absolutní hodnotu.) S využitím vzorečku získáváme obecný vzorec pro obsah trojúhelníka ABC: S = (x 2 x 1 )(y 3 y 1 ) (y 2 y 1 )(x 3 x 1 ) 2 Stejně jako u pravoúhlých trojúhelníků můžeme v programu počítat rovnou s dvojnásobkem a vystačíme si tak s celými čísly. 26-K-2 Permutace 10 bodů Tato úloha po vás vyžadovala generování všech permutací předepsané délky, které neobsahují zakázanou podpermutaci. Jako podpermutaci dané permutace jsme označovali libovolnou posloupnost, kterou z dané permutace získáme vyškrtáním některých prvků. Tedy pro permutaci 3214 jsou 32, 34 i 314 jejími podpermutacemi, kdežto 231 není její podpermutací. Úlohu vyřešíme tak, že vygenerujeme všechny permutace a pak z nich vybereme ty, které neobsahují zakázanou podpermutaci. Generování podpermutací V devíti vstupech bylo N 6, což je tak málo, že se permutace daly generovat skoro jakkoliv. Třeba generováním všech posloupností délky N a následného ověřování, které z nich jsou permutacemi. Pro získání posledního desátého bodu jste museli zvládnout N = 9, zde už bylo potřeba přijít s efektivním řešením. Abychom vůbec měli přehled o tom, které permutace jsme již vygenerovali a které ne, hodí se zavést si nad permutacemi nějaké uspořádání. Použijeme lexikografické uspořádání (tedy přesně to, kterým jsou uspořádána hesla ve slovníku). Prvních pět permutací množiny {1, 2, 3, 4, 5} v lexikografickém uspořádání tvoří permutace 12345, 12354, 12435, a Posledními pěti jsou pak permutace 54132, 54213, 54231, a Vysvětlíme si, jak napsat funkci, která danou permutaci přemění na následující permutaci v lexikografickém pořadí. Navíc nás funkce u poslední permutace upozorní na to, že už máme skončit. Označme si jako p 0,..., p N 1 permutaci, pro kterou chceme nalézt další permutaci. Onu další permutaci označme jako q 0,..., q N 1. Nechť α je index prvního prvku, ve kterém se obě permutace budou lišit. Tedy pro všechna i < α bude platit p i = q i. Protože chceme další permutaci, musí být p α < q α. Z povahy lexikografického uspořádání přímo plyne, že index α musí být nejvyšší možný. Uvažujme, jak α najít. Pokud by platilo p N 1 < p N 2 < < p α, není možné vybrat q α tak, aby byla splněna nerovnost p α < q α. Jako q α může totiž být zvolen 2
3 pouze některý z prvků p i pro i > α. Zvolíme tedy α jako největší index, pro který platí p α < p α+1. Pak už bude zaručeno, že existuje prvek, kterým půjde p α nahradit. Jak nyní vybrat q α? Vybíráme jej z prvků p α+1,..., p N 1 a přirozeně vybereme nejmenší z těch, které jsou větší než p α. Označme jej jako p β. Všimněme si, že zbývající prvky splňují nerovnosti p α+1 > > p β 1 > p α > p β+1 > > p N 1. Jak máme tyto zbývající prvky původní posloupnosti uspořádat? Protože generujeme nejbližší permutaci v lexikografickém pořadí, chceme je dostat do vzestupného pořadí. Díky předchozím nerovnostem získáme q α+1,..., q N 1 tak, že prvky p α+1,..., p β 1, p α, p β+1,..., p N 1 zapíšeme v opačném pořadí. Všimněme si, že pro novou permutaci nemusíme alokovat žádný prostor, místo toho můžeme rovnou přepisovat tu původní. Celý postup si zrekapitulujme: Nalezneme α největší index takový, že p α < p α+1, pokud neexistuje, už jsme u poslední posloupnosti. Z prvků p α+1,..., p N 1 vybereme nejmenší p β splňující p β > p α. Prohodíme prvky na pozicích α a β, celou podposloupnot p α+1,..., p N 1 obrátíme. Efektivita generování Jaká je efektivita popsaného algoritmu? Hned vidíme, že přechod k další permutaci potřebuje pouze konstantně mnoho operací na každý prvek permutace, tedy můžeme odhadnout časovou složitost přechodu k další permutaci jako O(N). Tím bychom získali odhad O(N N!) na časovou složitost vygenerování všech permutací. To by pro účely úlohy stačilo. Náš odhad celkové složitosti totiž nebude záviset na délce zakázané podpermutace a pro D = 0 musíme vypsat všechny permutace, což samo o sobě stojí čas Θ(N N!). } Když už jsme si dali práci se samotným algoritmem, můžeme si dát ještě trochu více práce a zjistit, jak dobrý algoritmus jsme to vlastně popsali. Využijeme k tomu takzvanou penízkovou metodu. Nejdříve si musíme zavést náš peněžní systém. Konkrétně aktuální počet korun, kterými disponujeme, vyjádříme jako Φ = N 1 i=0 k i, kde { 1, pokud pi > p i+1, k i = 0, pokud p i < p i+1. Jinými slovy změnou nerovnosti < na > jednu korunu získáme, naopak za změnu > na < jednu korunu zaplatíme. Jak to souvisí s naším algoritmem? Při jednom kroku algoritmu otočíme posloupnost p α+1,..., p β 1, p α, p β+1,..., p N 1, tedy zaplatíme N 2 α korun. To je ale přesně složitost jednoho kroku algoritmu! (To bychom měli možná formulovat o něco opatrněji. Z našeho postupu přímo vyplývá, že časová složitost jednoho kroku leží ve složitostní třídě Θ(N α). A funkce N 2 α v této třídě leží také, což nám pro tuto analýzu plně postačuje.) Na začátku máme 0 korun a nemůžeme se zadlužit, časová složitost algoritmu je tedy nejvýše tak vysoká jako celkový počet korun, které vyděláme. Na každé permutaci 3
4 můžeme vydělat nejvýše jednu korunu, protože změna nerovnosti < na nerovnost > může nastat pouze mezi prvky na pozicích α a α + 1. Tak získáváme odhad na časovou složitost vygenerování všech permutací O(N!). Protože ale na každé permutaci provedeme alespoň jednu operaci, zjišťujeme, že tato složitost je přesně Θ(N!). Pro praktické účely se hodí vědět, že třeba jazyk C++ ve své standardní knihovně nabízí funkci std::next permutation, která dělá totéž jako naše funkce a pracuje stejně efektivně. Hledání zakázané podpermutace Potřebujeme zjistit, jestli permutace p 0,..., p N 1 neobsahuje jako svou podpermutaci q 0,..., q L 1. To ale znamená pouze zjistit, jestli pozice prvků q 0,..., q L 1 v naší permutaci tvoří rostoucí posloupnost. V čase O(N) to můžeme udělat zhruba takto: Začneme s hodnotou i 0 = 0. A navyšujeme i 0, dokud neplatí q 0 = p i0. Pak položíme i 1 = i a opět tuto hodnotu navyšujeme, dokud neplatí q 1 = p i1, obdobně hledáme i 2, i 3,..., i L 1. Pokud najdeme všechny hodnoty i 0,..., i N 1, máme zakázanou podpermutaci. Pokud naopak libovolné i při hledání přesáhne N 1, pak se zakázaná podpermutaci v naší permutaci neobjevuje. Všech permutací je N!, na vygenerování, zpracování a případné vypsání permutace potřebujeme čas O(N), naše řešení má tedy celkovou časovou složitost O(N N!). 26-K-3 Bezpečné království 10 bodů Způsobů, jak se dalo úlohu řešit, bylo více, mohli jste si vyhrát s náhodnými algoritmy či zkusit použít techniku lokálního prohledávání. Zde si předvedeme řešení pomocí hladového algoritmu. Jako hladové označujeme takové algoritmy, které se ve svém rozhodování neohlíží příliš dopředu. Místo toho se rozhodnou pro řešení, které se aktuálně zdá býti nejlepším, i když ještě třeba nezpracovali všechna data. Nejslavnějším příkladem hladového algoritmu je Kruskalův algoritmus pro nalezení nejmenší kostry ohodnoceného grafu. Hladový algoritmus Na začátku si u všech měst poznačíme, že jsme jim ještě žádného strážného neurčili. Města nyní postupně zpracováváme (na pořadí nezáleží). Označme si aktuálně zpracovávané město jako m. Pro každý rod si spočteme, kolik sousedů města m má svého strážce z tohoto rodu. Vybereme rod, pro který je tento počet nejmenší (pokud jich je více se stejným počtem, volíme libovolně). Strážce z tohoto rodu přidělíme městu m. Jak vhodně implementovat algoritmus? Kdybychom pro každý vrchol prošli všechny sousedské dvojice, dostali bychom se na složitost Θ(NM). Místo toho si pro každý vrchol na začátku uložíme seznam jeho sousedů, tak se v průběhu volby rodů na každou sousedskou dvojici podíváme pouze dvakrát. Počty měst z jednotlivých rodů si uchováme v poli délky K. Pokud budeme toto pole pro každé město pokaždé 4
5 nulovat, dosáhneme celkové složitosti Θ(N K + M). Takovéto řešení postačuje, můžeme však být pečlivější a nenulovat pole celé, ale pouze ty jeho pozice, kam jsme něco zapsali. Pak dosáhneme časové složitosti Θ(N + M + K). Protože je K N, můžeme ji zapsat pouze jako Θ(N + M). To je asymptoticky optimální. Θ(M) je totiž velikost vstupu, který musíme přečíst, Θ(N) je zase velikost výstupu. Prostorová složitost vychází stejně. Důkaz správnosti Označme si jako D m množinu všech dvojic měst takových, že obsahují město m a že v době zpracování města m má druhé město již přiděleného strážného. Jako R m označme počet dvojic měst z D m takových, že obě města takovýchto dvojic mají strážné z různých měst. Jako R označme počet všech dvojic měst, které mají oba strážné z různých rodů. Potřebujeme dokázat R K 1 K M. Předpokládejme, že jsme městu m přidělili strážného z rodu k. Z volby rodu k vyplývá, že nejvýše Dm K dvojic měst z D m má strážného z rodu k. Tak získáváme odhad R m D m Dm K = K 1 K D m. Sečteme-li tyto nerovnice přes všechna města, získáme: R = m {1,...,N} R m m {1,...,N} K 1 K D m = K 1 K m {1,...,N} To je přesně odhad, který jsme potřebovali. Důkaz je tímto hotov. D m = K 1 K M 26-K-4 Městský ruch 10 bodů Stejně jako v zadání budeme počet řádků a sloupců mapy města značit jako R a S. Jako K označíme počet druhů záležitostí, které musí poddaní vyřídit. Tato hodnota byla v úloze nastavena pevně na K = 10 a i ve vzorovém programu je tato konstanta pevně zadrátována. Pro analýzu algoritmů ale bude vhodnější si tuto konstantu označit obecně, abychom viděli, jaký vliv její velikost má. Pomalé řešení Úloha od pohledu spadá do kategorie hledání nejkratších cest. A skutečně můžeme z každého políčka spustit prohledávání do šířky, abychom pro každou záležitost nalezli nejbližší místo, kde ji lze vyřídit. Průchod do šířky má obecně časovou složitost O( V + E ), kde V značí počet vrcholů prohledávaného grafu a E počet hran. V našem případě tedy průchod do šířky zabere čas O(RS). Políček mapy je RS, výsledný algoritus tak dosahuje časové složitosti O(KR 2 S 2 ) nebo O(R 2 S 2 ) v závislosti na konkrétní implementaci. Ukážeme si, že úlohu dokážeme vyřešit i mnohem rychleji. Jak bychom ale v tomto okamžiku mohli vytušit, že náš algoritmus je zbytečně pomalý? Všimněme si, že najít nejkratší cestu je v naší úloze triviální délka nejkratší cesty mezi políčky [a, b] a [c, d] je vždy dána výrazem a c + b d a snadno nějakou cestu takové 5
6 délky najdeme. Tedy asi budeme hledat něco trochu jiného než standardní algoritmy pro hledání nejkratších cest. Podstatné pozorování je toto: Zafixujme si pevně aktivitu A a hledejme pro nějaké políčko [r, s] nejbližší políčko s aktivitou A. Pokud je aktivita A přímo na políčku [r, s], je to triviální, hledané políčko je rovnou [r, s]. Předpokládejme nyní, že jsme nejbližší vhodné políčko našli pro všechna políčka sousedící s [r, s]. Potřebujeme nyní spouštět znovu celý průchod do šířky? Nepotřebujeme! K onomu hledému políčku určitě půjdeme přes některé ze sousedních políček, stačí se tedy podívat na sousední políčka a zjistit, která políčka s aktivitou A jsou jim nejblíž, z těchto políček si vybereme to, které je nejblíž políčku [r, s]. Rychlé řešení Myšlenka, ke které jsme se vás snažili navést v předchozím odstavci, patří mezi standardní techniky a označujeme ji jako dynamické programování. Je to velmi obecné označení pro různé techniky založené na tom, že si zkrátíme výpočet šikovným využitím již spočítaných hodnot. Pokud tuto techniku neznáte, vřele doporučujeme si někdy vyhradit chvilku na příslušnou kuchařku. 1 Úlohu vyřešíme pro každou aktivitu zvlášť a jako výsledek pak vrátíme součet přes všechny aktivity. Zvolme si pevně aktivitu A, pro kterou budeme vzdálenosti počítat. Pro začátek uvažujme zjednodušenou verzi, ve které se poddaní mohou pohybovat pouze směrem nahoru a vlevo a ve které mohou aktivitu vyřídit i na svém vlastním políčku. Jako D r,s označme vzdálenost políčka [r, s] od nejbližšího políčka s aktivitou A. Chceme spočítat D r,s pro všechna r a s. Pro políčko [0, 0] je výpočet snadný. Pokud se nachází na tomto políčku aktivita A, pak D 0,0 = 0, jinak je aktivita A nedostupná, to vyjádříme jako D 0,0 =. Uvažme nyní políčko [r, s]. Pokud je na tomto políčku aktivita A, opět D r,s = 0. V opačném případě D r,s = 1+min(D r 1,s, D r,s 1 ), vzoreček přesně vyjadřuje to, že si můžeme vybrat krok nahoru nebo vlevo, pak už můžeme použít výsledek políčka, na které dojdeme. (Poznámka: Pro případ, kdy je r = 0, použijeme přirozeně D 0,s = 1 + D 0,s 1 a obdobně pro s = 0.) Důležité je, že když budeme políčka procházet postupně po řádcích a v každém řádku začneme v nultém sloupci, budeme mít v okamžiku, kdy počítáme D r,s již dostupné hodnoty D r 1,s a D r,s 1. V čase Θ(RS) tedy spočteme všechna D r,s. Uvědomme si, že obdobně můžeme vyřešit i varianty, kdy se pohybujeme pouze doprava a nahoru, nahoru a vlevo nebo vlevo a dolů. Akorát musíme trochu poupravit parametry, ukažme si to na případu, kdy se pohybujeme pouze doprava a nahoru. Jako počáteční políčko nyní zvolíme políčko v pravém horním rohu, tedy to na souřadnicích [0, S 1]. Dynamický výpočet nyní budeme provádět jako 1 6
7 D r,s = 1+min(D r 1,s, D r,s+1 ), políčka opět procházíme po řádcích, políčka jednoho řádku ale nyní musíme procházet odzadu. Když už budeme mít spočteny všechny čtyři možnosti pohybu, budeme se moci dostat z každého políčka na libovolné jiné políčko. Tedy vzdálenost k nejbližšímu políčku s aktivitou A bude minimem ze vzdáleností pro tyto čtyři možnosti pohybu. A jak se vypořádáme s tím, že poddaní nemohou použít své vlastní políčko? Krom D r,s si v každém směru budeme ještě počítat D r,s, které budeme rovnou počítat jako 1 + min(d r 1,s, D r,s 1 ), ať už je na poli [r, s] aktivita A nebo ne. (Pro různé směry samozřejmě místo [r 1, s] a [r, s 1] použijeme jiné sousedy.) Výsledná vzdálenost pak bude minimum ze všech D r,s pro čtyři různé směry. Protože tento postup opakujeme pro každou aktivitu, získali jsme řešení o časové složitosti O(KRS). Prostorová složitost je O(RS), protože nám stačí uchovávat pouze konstantně mnoho polí velikosti RS. 26-K-5 Mýtický strom 10 bodů Operaci magického navyšování hodnot vrcholu označujme prostě jako přičítací operaci. Jako syny vrcholu budeme označovat vrcholy, které jsou s ním spojeny s hranou a jsou pod ním. Jako potomky vrcholu budeme označovat jeho syny, syny jeho synů, syny synů jeho synů atd. Úlohu lze řešit přímočaře. Přičítací operaci můžeme realizovat prostě tak, že všechny potomky navštívíme a upravíme jejich hodnotu, například průchodem do hloubky. Při tom si akorát musíme udržovat informaci o tom, zda jsme na sudé nebo liché hladině, abychom věděli, zda máme přičítat nebo odčítat. Takto na přičítací operaci potřebujeme čas O(N). Vypisovací operace proti tomu stojí pouze O(1), prostě vypíšeme hodnotu, kterou už máme dávnou spočtenou. V případech, kdy je přičítacích operací alespoň tolik co vypisovacích, se dostáváme na složitost O(NM). Za takové řešení se dalo získat pět i více bodů v závislosti na tom, jak jste jej naprogramovali. Efektivnější řešení, které zvládá obě operace v čase O(log N), si nyní předvedeme. Efektivní řešení Pro přehlednost si řešení popišme pro začátek pro případ, kdy přičítací operace nestřídá znaménka, ale prostě ke všem potomkům (i vrcholu samotnému) přičte zadané x. Úprava pro přičítací operaci střídající znaménka už nebude obtížná. Abychom mohli vrcholy rozumně zpracovávat hromadně, potřebujeme si je nejprve vhodně uspořádat. K tomu se nám bude velmi hodit průchod do hloubky. Představme si, že při tomto průchodu máme časomíru. Na začátku nastavme T = 0 a při každém vstupu do nového vrcholu ji navyšme o jedna. Po vstupu do vrcholu v si aktuální T uložme jako číslo vrcholu, budeme jej značit L v. Při výstupu z vrcholu si aktuální T uložme jako R v. Všimněme si, že všichni potomci vrcholu v mají čísla L v + 1 až R v. 7
8 Od tohoto okamžiku se už o původním stromu nemusíme vůbec bavit. Celá přičítací operace se redukuje na přičtení dané hodnoty ke všem prvkům určitého intervalu. K tomu se, jak název napovídá, budou hodit intervalové stromy. Seznámit se s nimi můžete v intervalové kuchařce. 2 Konkrétně využijeme Fenwickův strom operající nad hodnotami h 1,..., h N. Ten umí v čase O(log N) dvě operace. První operací je pro dané i navýšení h i o předepsanou hodnotu. Druhou operací je pro dané i určení součtu h h i. Hodnotu vrcholu v bude reprezentovat součet h h Lv. Jak teď realizovat přičítací operaci? Chceme-li přičíst x ke všem vrcholům s čísly p až q, navýšíme jednoduše h p o x a naopak snížíme h q+1 o x. Hodnoty vrcholů před p se tak nijak nezmění. Hodnoty vrcholů za q se také nijak nezmění, protože se vyruší x a x. Hodnoty vrcholů od p po q se zvýší o x. Operaci tedy provádíme korektně. Tak jsme získali řešení, které obě operace (přičítací i vypisovací) provádí v čase O(log N). Upravit toto řešení i pro magickou operaci, která střídá znaménka by už mělo být snadným cvičením. Opět bude potřeba vhodně rozlišovat sudé a liché hladiny jako u přímočarého řešení. Může se také hodit použít dva Fenwickovy stromy. Pokud byste tuto úpravu nevymysleli, podívejte se do autorského zdrojového kódu. 26-K-6 Zajímavá posloupnost 10 bodů Způsobů, jak tuto úlohu vyřešit, je více. Pravděpodobně by šlo použít nějakou verzi dvourozměrného intervalového stromu a vyřešit tak úlohu v čase O(n log 2 n). To my ale dělat nebudeme, my si ukážeme autorské řešení, které používá jen základní programátorské techniky. Nejdříve si posloupnost v čase O(n log n) přečíslujeme na hodnoty 0 až n 1 a označíme ji jako P. Dále v čase O(n) spočítáme indexy next(i) a back(i) indexy dalšího a předcházejícího prvku stejné hodnoty. Tyto hodnoty použijeme v jádru našeho algoritmu. Budeme se snažit najít podposloupnost, která neobsahuje žádný unikátní prvek. Pro podposloupnost [a, b] je prvek na indexu c (a c b) unikátní, právě když back(c) < a a zároveň next(c) > b. Dále si všimneme, že pokud je prvek na indexu c unikátní, tak všechny podposloupnosti posloupnosti [a, b] jdoucí přes c již unikátní prvek obsahují. Tedy nám stačí se zaměřit jen na podposloupnosti [a, c 1] a [c+1, b]. Myšlenka algoritmu je jednoduchá: v posloupnosti [0, n 1] zkusíme najít unikátní prvek. Pokud se nám to nepovede, posloupnost není zajímavá. Nechť se nám to podaří a unikátní prvek najdeme na indexu c. Pak stejný algoritmus znova zavoláme na příslušné dvě podposloupnosti. Teď už nám jen zbývá vyřešit, jak hledat unikátní prvek. První nápad je, že budeme procházet jeden prvek po druhém a ověřovat, jestli náhodou není unikátní. Při 2 8
9 prvním nalezeném se rekurzivně zavoláme na levou a pravou podposloupnost. V nejhorším případě se nám stane, že nalezený prvek bude vždy až u konce posloupnosti a to nám způsobí v nejhorším případě časovou složitost O(n 2 ). Kdybychom ale unikátní prvek vždy našli v první polovině, tak nás rozdělení posloupnosti bude vždy stát čas O(velikost menší části), což nás dostane na čas O(n log n), protože v nejhorším případě za O(n) kroků rozdělíme posloupnost na poloviny. My ale vždycky můžeme najít unikátní prvek v čase O(velikost menší části). Stačí jen nehledat prvek pouze z jedné strany, ale postupovat z obou stran zároveň. Pak se podíváme maximálně na dvakrát tolik prvků, kolik obsahuje menší část po rozdělení. A to je celý trik této úlohy! Prvních pět úloh připravil a jejich řešení sepsal Lukáš Folwarczný, šestou úlohu zpracoval Karel Tesař. 9
Korespondenční Seminář z Programování
Korespondenční Seminář z Programování SOUTĚŽ KASIOPEA 6. ročník Zadání úloh Březen 04 V tomto textu naleznete zadání úloh online soutěže Kasiopea 04, která proběhla o víkendu. 3. března. Veškeré informace
CVIČNÝ TEST 15. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17
CVIČNÝ TEST 15 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 15 IV. Záznamový list 17 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Je dána čtvercová mřížka, v níž každý čtverec má délku
6 Ordinální informace o kritériích
6 Ordinální informace o kritériích Ordinální informací o kritériích se rozumí jejich uspořádání podle důležitosti. Předpokládejme dále standardní značení jako v předchozích cvičeních. Existují tři základní
12. Lineární programování
. Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)
zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.
Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít
fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.
Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem
Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.
Intervalové stromy Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme průběžně provádět tyto dvě operace: 1. Změna jednoho čísla v posloupnosti. 2. Zjištění součtu čísel
PQ-stromy a rozpoznávání intervalových grafů v lineárním čase
-stromy a rozpoznávání intervalových grafů v lineárním čase ermutace s předepsanými intervaly Označme [n] množinu {1, 2,..., n}. Mějme permutaci π = π 1, π 2,..., π n množiny [n]. Řekneme, že množina S
Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic
Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je
a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:
Řešené příklady z lineární algebry - část 1 Typové příklady s řešením Příklady jsou určeny především k zopakování látky před zkouškou, jsou proto řešeny se znalostmi učiva celého semestru. Tento fakt se
7.5.3 Hledání kružnic II
753 Hledání kružnic II Předpoklady: 750 Pedagogická poznámka: Tato hodina patří mezi vůbec nejtěžší Není reálné předpokládat, že by většina studentů dokázala samostatně přijít na řešení, po čase na rozmyšlenou
Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady.
Číselné řady Definice (Posloupnost částečných součtů číselné řady). Nechť je číselná posloupnost. Pro všechna položme. Posloupnost nazýváme posloupnost částečných součtů řady. Definice (Součet číselné
LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25
Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem
Riemannův určitý integrál
Riemannův určitý integrál 1. Motivační příklad Příklad (Motivační příklad pro zavedení Riemannova integrálu). Nechť,. Vypočtěme obsah vybarvené oblasti ohraničené grafem funkce, osou a svislými přímkami
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde
Úlohy krajského kola kategorie C
67. ročník matematické olympiády Úlohy krajského kola kategorie C 1. Najděte nejmenší přirozené číslo končící čtyřčíslím 2018, které je násobkem čísla 2017. 2. Pro celá čísla x, y, z platí x 2 + y z =
(Cramerovo pravidlo, determinanty, inverzní matice)
KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce
Úlohy klauzurní části školního kola kategorie A
62. ročník matematické olympiády Úlohy klauzurní části školního kola kategorie A 1. V obdélníku ABCD o stranách AB = 9, BC = 8 leží vzájemně se dotýkající kružnice k 1 (S 1, r 1 ) a k 2 (S 2, r 2 ) tak,
Věta 12.3 : Věta 12.4 (princip superpozice) : [MA1-18:P12.7] rovnice typu y (n) + p n 1 (x)y (n 1) p 1 (x)y + p 0 (x)y = q(x) (6)
1. Lineární diferenciální rovnice řádu n [MA1-18:P1.7] rovnice typu y n) + p n 1 )y n 1) +... + p 1 )y + p 0 )y = q) 6) počáteční podmínky: y 0 ) = y 0 y 0 ) = y 1 y n 1) 0 ) = y n 1. 7) Věta 1.3 : Necht
Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.
Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?
1 Lineární prostory a podprostory
Lineární prostory a podprostory Přečtěte si: Učebnice AKLA, kapitola první, podkapitoly. až.4 včetně. Cvičení. Které z následujících množin jsou lineárními prostory s přirozenými definicemi operací?. C
CVIČNÝ TEST 5. OBSAH I. Cvičný test 2. Mgr. Václav Zemek. II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19
CVIČNÝ TEST 5 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Zjednodušte výraz (2x 5) 2 (2x 5) (2x + 5) + 20x. 2 Určete nejmenší trojciferné
Shodná zobrazení. bodu B ležet na na zobrazené množině b. Proto otočíme kružnici b kolem
Shodná zobrazení Otočení Příklad 1. Jsou dány tři různé soustředné kružnice a, b a c. Sestrojte rovnostranný trojúhelník ABC tak, aby A ležel na a, B ležel na b a C ležel na c. Řešení. Zvolíme vrchol A
6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2
6 Skalární součin Skalární součin 1 je operace, která dvěma vektorům (je to tedy binární operace) přiřazuje skalár (v našem případě jde o reálné číslo, obecně se jedná o prvek nějakého tělesa T ). Dovoluje
Kolik existuje různých stromů na pevně dané n-prvkové množině vrcholů?
Kapitola 9 Matice a počet koster Graf (orientovaný i neorientovaný) lze popsat maticí, a to hned několika různými způsoby. Tématem této kapitoly jsou incidenční matice orientovaných grafů a souvislosti
a se nazývá aritmetická právě tehdy, když existuje takové číslo d R
Předmět: Ročník: Vytvořil: Datum: MATEMATIKA TŘETÍ Mgr. Tomáš MAŇÁK. březen 014 Název zpracovaného celku: ARITMETICKÁ POSLOUPNOST A JEJÍ UŽITÍ ARITMETICKÁ POSLOUPNOST Teorie: Posloupnost každé ( ) n n1
4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení
Výběr báze. u n. a 1 u 1
Výběr báze Mějme vektorový prostor zadán množinou generátorů. To jest V = M, kde M = {u,..., u n }. Pokud je naším úkolem najít nějakou bázi V, nejpřímočařejším postupem je napsat si vektory jako řádky
(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,
1. V oboru celých čísel řešte soustavu rovnic (4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74, kde (n) k značí násobek čísla k nejbližší číslu n. (P. Černek) Řešení. Z první rovnice dané soustavy plyne, že číslo
Lineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda frantisek.stampach@fit.cvut.cz, karel.klouda@fit.cvut.cz Katedra aplikované matematiky Fakulta informačních
Lineární algebra : Násobení matic a inverzní matice
Lineární algebra : Násobení matic a inverzní matice (8. přednáška) František Štampach, Karel Klouda LS 2013/2014 vytvořeno: 17. března 2014, 12:42 1 2 0.1 Násobení matic Definice 1. Buďte m, n, p N, A
Cvičení 5 - Inverzní matice
Cvičení 5 - Inverzní matice Pojem Inverzní matice Buď A R n n. A je inverzní maticí k A, pokud platí, AA = A A = I n. Matice A, pokud existuje, je jednoznačná. A stačí nám jen jedna rovnost, aby platilo,
Algoritmus pro hledání nejkratší cesty orientovaným grafem
1.1 Úvod Algoritmus pro hledání nejkratší cesty orientovaným grafem Naprogramoval jsem v Matlabu funkci, která dokáže určit nejkratší cestu v orientovaném grafu mezi libovolnými dvěma vrcholy. Nastudoval
Extrémy funkce dvou proměnných
Extrémy funkce dvou proměnných 1. Stanovte rozměry pravoúhlé vodní nádrže o objemu 32 m 3 tak, aby dno a stěny měly nejmenší povrch. Označme rozměry pravoúhlé nádrže x, y, z (viz obr.). ak objem této nádrže
Příklad 1. Řešení 1a Máme vyšetřit lichost či sudost funkce ŘEŠENÉ PŘÍKLADY Z M1A ČÁST 3
Příklad 1 Zjistěte, zda jsou dané funkce sudé nebo liché, případně ani sudé ani liché: a) =ln b) = c) = d) =4 +1 e) =sin cos f) =sin3+ cos+ Poznámka Všechny tyto úlohy řešíme tak, že argument funkce nahradíme
Pythagorova věta
.8.19 Pythagorova věta Předpoklady: 00801 Pedagogická poznámka: Z následujícího příkladu rýsuje každý žák pouze jeden bod podle toho, v jakém sedí oddělení. Př. 1: Narýsuj pravoúhlý trojúhelník: a) ABC:
ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ
ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ Parametrické vyjádření přímky v rovině Máme přímku p v rovině určenou body A, B. Sestrojíme vektor u = B A. Pro bod B tím pádem platí: B = A + u. Je zřejmé,
Algoritmizace složitost rekurzivních algoritmů. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010
složitost rekurzivních algoritmů Jiří Vyskočil, Marko Genyg-Berezovskyj 2010 Vyjádřen ení složitosti rekurzivního algoritmu rekurentním m tvarem Příklad vyjádření složitosti rekurzivního algoritmu rekurencí:
Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace
Vektory a matice Aplikovaná matematika I Dana Říhová Mendelu Brno Obsah 1 Vektory Základní pojmy a operace Lineární závislost a nezávislost vektorů 2 Matice Základní pojmy, druhy matic Operace s maticemi
Základy maticového počtu Matice, determinant, definitnost
Základy maticového počtu Matice, determinant, definitnost Petr Liška Masarykova univerzita 18.9.2014 Matice a vektory Matice Matice typu m n je pravoúhlé (nebo obdélníkové) schéma, které má m řádků a n
CVIČNÝ TEST 12. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21
CVIČNÝ TEST 12 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 6 III. Klíč 19 IV. Záznamový list 21 I. CVIČNÝ TEST VÝCHOZÍ TEXT K ÚLOZE 1 Písmena A, B, C a D vyjadřují každé jednu z číslic
V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti
Kapitola 5 Vektorové prostory V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti operací sčítání a násobení
x 0; x = x (s kladným číslem nic nedělá)
.. Funkce absolutní hodnota Předpoklady: 08, 07 x - zničí znaménko čísla, všechna čísla změní na nezáporná Jak vyjádřit matematicky? Pomocí číselné osy: x je vzdálenost obrazu čísla na číselné ose od počátku.
1 Extrémy funkcí - slovní úlohy
1 Extrémy funkcí - slovní úlohy Příklad 1.1. Součet dvou kladných reálných čísel je a. Určete 1. Minimální hodnotu součtu jejich n-tých mocnin.. Maximální hodnotu součinu jejich n-tých mocnin. Řešení.
Matematika 1 MA1. 1 Analytická geometrie v prostoru - základní pojmy. 4 Vzdálenosti. 12. přednáška ( ) Matematika 1 1 / 32
Matematika 1 12. přednáška MA1 1 Analytická geometrie v prostoru - základní pojmy 2 Skalární, vektorový a smíšený součin, projekce vektoru 3 Přímky a roviny 4 Vzdálenosti 5 Příčky mimoběžek 6 Zkouška;
Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky
6. Vázané a absolutní extrémy. 01-a3b/6abs.tex Hledáme lokální extrémy funkce vzhledem k množině, která je popsána jednou či několika rovnicemi, vazebními podmínkami. Pokud jsou podmínky jednoduché, vyřešíme
1 Vektorové prostory.
1 Vektorové prostory DefiniceMnožinu V, jejíž prvky budeme označovat a, b, c, z, budeme nazývat vektorovým prostorem právě tehdy, když budou splněny následující podmínky: 1 Je dáno zobrazení V V V, které
M - Kvadratické rovnice a kvadratické nerovnice
M - Kvadratické rovnice a kvadratické nerovnice Určeno jako učební tet pro studenty dálkového studia. VARIACE 1 Tento dokument byl kompletně vytvořen, sestaven a vytištěn v programu dosystem - EduBase.
Praha & EU: investujeme do vaší budoucnosti. Daniel Turzík, Miroslava Dubcová,
E-sbírka příkladů Seminář z matematiky Evropský sociální fond Praha & EU: investujeme do vaší budoucnosti Daniel Turzík, Miroslava Dubcová, Pavla Pavlíková Obsah 1 Úpravy výrazů................................................................
BCH kódy. Alena Gollová, TIK BCH kódy 1/27
7. přednáška z algebraického kódování Alena Gollová, TIK 1/27 Obsah 1 Binární Alena Gollová, TIK 2/27 Binární jsou cyklické kódy zadané svými generujícími kořeny. Díky šikovné volbě kořenů opravuje kód
IB112 Základy matematiky
IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic
Internetová matematická olympiáda listopadu 2008
Internetová matematická olympiáda - 5. listopadu 008 ŘEŠENÍ ÚLOH 1. Obrazec na Obrázku 1 je složen z 44 čtverců o straně 6 mm. Bodem A veďte jedinou přímku, která daný obrazec rozdělí na dva obrazce o
10. DETERMINANTY " # $!
10. DETERMINANTY $ V této kapitole zavedeme determinanty čtvercových matic libovolného rozměru nad pevným tělesem, řekneme si jejich základní vlastnosti a naučíme se je vypočítat včetně příkladů jejich
1 Linearní prostory nad komplexními čísly
1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)
Návrh Designu: Radek Mařík
1. 7. Najděte nejdelší rostoucí podposloupnost dané posloupnosti. Použijte metodu dynamického programování, napište tabulku průběžných délek částečných výsledků a tabulku předchůdců. a) 5 8 11 13 9 4 1
8. Geometrie vrací úder (sepsal Pavel Klavík)
8. Geometrie vrací úder (sepsal Pavel Klavík) Když s geometrickými problémy pořádně nezametete, ony vám to vrátí! Ale když užzametat,takurčitěnepodkoberecamístosmetákupoužijtepřímku.vtéto přednášce nás
3. Prohledávání grafů
3. Prohledávání grafů Prohledání do šířky Breadth-First Search BFS Jde o grafový algoritmus, který postupně prochází všechny vrcholy v dané komponentě souvislosti. Algoritmus nejprve projde všechny sousedy
Nerovnice, grafy, monotonie a spojitost
Nerovnice, grafy, monotonie a spojitost text pro studenty Fakulty přírodovědně-humanitní a pedagogické TU v Liberci vzniklý za podpory fondu F Martina Šimůnková 29. prosince 2016 1 Úvod Na druhém stupni
POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky
POSLOUPNOSTI A ŘADY Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu
Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,
Příklad 1 Najděte body, v nichž má funkce (,) vázané extrémy, případně vázané lokální extrémy s podmínkou (,)=0, je-li: a) (,)= + 1, (,)=+ 1 lok.max.v 1 2,3 2 b) (,)=+, (,)= 1 +1 1 c) (,)=, (,)=+ 1 lok.max.v
V každém kroku se a + b zmenší o min(a, b), tedy vždy alespoň o 1. Jestliže jsme na začátku dostali 2
Euklidův algoritmus Doprovodný materiál pro cvičení Programování I. NPRM044 Autor: Markéta Popelová Datum: 31.10.2010 Euklidův algoritmus verze 1.0 Zadání: Určete největšího společného dělitele dvou zadaných
7 Ortogonální a ortonormální vektory
7 Ortogonální a ortonormální vektory Ze vztahu (5) pro výpočet odchylky dvou vektorů vyplývá, že nenulové vektory u, v jsou na sebe kolmé právě tehdy, když u v =0. Tato skutečnost nám poslouží k zavedení
ANTAGONISTICKE HRY 172
5 ANTAGONISTICKÉ HRY 172 Antagonistický konflikt je rozhodovací situace, v níž vystupují dva inteligentní rozhodovatelé, kteří se po volbě svých rozhodnutí rozdělí o pevnou částku, jejíž výše nezávisí
10 Přednáška ze
10 Přednáška ze 17. 12. 2003 Věta: G = (V, E) lze nakreslit jedním uzavřeným tahem G je souvislý a má všechny stupně sudé. Důkaz G je souvislý. Necht v je libovolný vrchol v G. A mějme uzavřený eurelovský
0.1 Úvod do lineární algebry
Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Vektory Definice 011 Vektorem aritmetického prostorur n budeme rozumět uspořádanou n-tici reálných čísel x 1, x 2,, x n Definice 012 Definice sčítání
EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH
EXTRÉMY FUNKCÍ VÍCE PROMĚNNÝCH ÚLOHY ŘEŠITELNÉ BEZ VĚTY O MULTIPLIKÁTORECH Nalezněte absolutní extrémy funkce f na množině M. 1. f(x y) = x + y; M = {x y R 2 ; x 2 + y 2 1} 2. f(x y) = e x ; M = {x y R
POSLOUPNOSTI A ŘADY INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ
POSLOUPNOSTI A ŘADY Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro vyšší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky na gymnáziu
Parametrické programování
Parametrické programování Příklad 1 Parametrické pravé strany Firma vyrábí tři výrobky. K jejich výrobě potřebuje jednak surovinu a jednak stroje, na kterých dochází ke zpracování. Na první výrobek jsou
. je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy platit = 0
Příklad 1 Určete definiční obor funkce: a) = b) = c) = d) = e) = 9 f) = Řešení 1a Máme určit definiční obor funkce =. Výraz je zlomkem. Ten je smysluplný pro jakýkoli jmenovatel různý od nuly. Musí tedy
Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru
2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních
PRIMITIVNÍ FUNKCE. Primitivní funkce primitivní funkce. geometrický popis integrály 1 integrály 2 spojité funkce konstrukce prim.
PRIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí
1 Projekce a projektory
Cvičení 3 - zadání a řešení úloh Základy numerické matematiky - NMNM20 Verze z 5. října 208 Projekce a projektory Opakování ortogonální projekce Definice (Ortogonální projekce). Uvažujme V vektorový prostor
Necht L je lineární prostor nad R. Operaci : L L R nazýváme
Skalární součin axiomatická definice odvození velikosti vektorů a úhlu mezi vektory geometrická interpretace ortogonalita vlastnosti ortonormálních bázi [1] Definice skalárního součinu Necht L je lineární
f(c) = 0. cn pro f(c n ) > 0 b n pro f(c n ) < 0
KAPITOLA 5: Spojitost a derivace na intervalu [MA-8:P5] 5 Funkce spojité na intervalu Věta 5 o nulách spojité funkce: Je-li f spojitá na uzavřeném intervalu a, b a fa fb < 0, pak eistuje c a, b tak, že
Vzdálenost uzlů v neorientovaném grafu
Vzdálenosti a grafy Vzdálenost uzlů v neorientovaném grafu Je dán neorientovaný neohodnocený graf G = (V,E,I) vzdálenost uzlů u a v v neorientovaném souvislém grafu G je délka nejkratší cesty spojující
4. Kombinatorika a matice
4 Kombinatorika a matice 4 Princip inkluze a exkluze Předpokládejme, že chceme znát počet přirozených čísel menších než sto, která jsou dělitelná dvěma nebo třemi Označme N k množinu přirozených čísel
vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých mocnin). Rozhodněte o definitnosti kvadratické formy κ(x).
Řešené příklady z lineární algebry - část 6 Typové příklady s řešením Příklad 6.: Kvadratickou formu κ(x) = x x 6x 6x x + 8x x 8x x vyjádřete ve tvaru lineární kombinace čtverců (lineární kombinace druhých
Limita a spojitost funkce a zobrazení jedné reálné proměnné
Přednáška 4 Limita a spojitost funkce a zobrazení jedné reálné proměnné V několika následujících přednáškách budeme studovat zobrazení jedné reálné proměnné f : X Y, kde X R a Y R k. Protože pro každé
64. ročník matematické olympiády Řešení úloh krajského kola kategorie A
64. ročník matematické olympiády Řešení úloh krajského kola kategorie A 1. Středy stran AC, BC označme postupně, N. Střed kružnice vepsané trojúhelníku KLC označme I. Úvodem poznamenejme, že body K, L
bin arn ı vyhled av an ı a bst Karel Hor ak, Petr Ryˇsav y 23. bˇrezna 2016 Katedra poˇ c ıtaˇ c u, FEL, ˇ CVUT
binární vyhledávání a bst Karel Horák, Petr Ryšavý 23. března 2016 Katedra počítačů, FEL, ČVUT Příklad 1 Naimplementujte binární vyhledávání. Upravte metodu BinarySearch::binarySearch. 1 Příklad 2 Mysĺım
PŘEDNÁŠKA 2 POSLOUPNOSTI
PŘEDNÁŠKA 2 POSLOUPNOSTI 2.1 Zobrazení 2 Definice 1. Uvažujme libovolné neprázdné množiny A, B. Zobrazení množiny A do množiny B je definováno jako množina F uspořádaných dvojic (x, y A B, kde ke každému
Matematika Kvadratická rovnice. Kvadratická rovnice je matematický zápis, který můžeme (za pomoci ekvivalentních úprav) upravit na tvar
Kvadratická rovnice Kvadratická rovnice je matematický zápis, který můžeme (za pomoci ekvivalentních úprav) upravit na tvar ax 2 + bx + c = 0. x neznámá; v kvadratické rovnici se vyskytuje umocněná na
( ) ( ) ( ) Tečny kružnic I. Předpoklady: 4501, 4504
7.5.5 Tečny kružnic I Předpoklady: 451, 454 Pedagogická poznámka: Následující dvě hodiny jsou na gymnázium asi početně nejnáročnější. Ačkoliv jsou příklady optimalizované na co nejmenší početní obtížnost,
Číselné posloupnosti
Číselné posloupnosti Jiří Fišer KMA, PřF UP Olomouc ZS09 Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 43 Pojem posloupnosti Každé zobrazení N do R nazýváme číselná posloupnost. 1 a 1, 2 a 2, 3 a
Binární vyhledávací stromy pokročilé partie
Binární vyhledávací stromy pokročilé partie KMI/ALS lekce Jan Konečný 30.9.204 Literatura Cormen Thomas H., Introduction to Algorithms, 2nd edition MIT Press, 200. ISBN 0-262-5396-8 6, 3, A Knuth Donald
10. cvičení - LS 2017
10. cvičení - LS 2017 Michal Outrata Příklad 1 Spočtěte následující itu daných posloupností: (a) (b) (c) n 3 +5n 2 n 3 6n 2 +3 n ; n 4 3n 2 6 n 4 + 3n 2 + 6; n 2 15n+2(1 n). 2(n 2) 3 2n 3 Příklad 2 Pro
- funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte. V obou případech vyzkoušejte Taylorovy řady
Vzorové řešení domácího úkolu na 6. 1. 1. Integrály 1 1 x2 dx, ex2 dx spočítejte přibližně následují metodou - funkce, které integrujete aproximujte jejich Taylorovými řadami a ty následně zintegrujte.
PRIMITIVNÍ FUNKCE DEFINICE A MOTIVACE
PIMITIVNÍ FUNKCE V předchozích částech byly zkoumány derivace funkcí a hlavním tématem byly funkce, které derivace mají. V této kapitole se budou zkoumat funkce, které naopak jsou derivacemi jiných funkcí
Derivace goniometrických funkcí
Derivace goniometrických funkcí Shrnutí Jakub Michálek, Tomáš Kučera Odvodí se základní vztahy pro derivace funkcí sinus a cosinus za pomoci věty o třech itách, odvodí se také několik typických it pomocí
Báze a dimenze vektorových prostorů
Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň
CVIČNÝ TEST 37. OBSAH I. Cvičný test 2. Mgr. Tomáš Kotler. II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15
CVIČNÝ TEST 37 Mgr. Tomáš Kotler OBSAH I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 13 IV. Záznamový list 15 I. CVIČNÝ TEST VÝCHOZÍ TEXT A OBRÁZEK K ÚLOZE 1 Na staré hliněné desce je namalován čtverec
Výroková logika II. Negace. Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0).
Výroková logika II Negace Již víme, že negace je změna pravdivostní hodnoty výroku (0 1; 1 0). Na konkrétních příkladech si ukážeme, jak se dají výroky negovat. Obecně se výrok dá negovat tak, že před
Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:
3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A
Informatika navazující magisterské studium Přijímací zkouška z informatiky 2018 varianta A Každá úloha je hodnocena maximálně 25 body. Všechny své odpovědi zdůvodněte! 1. Postavte na stůl do řady vedle
61. ročník matematické olympiády III. kolo kategorie A. Hradec Králové, března 2012
61. ročník matematické olympiády III. kolo kategorie Hradec Králové, 5. 8. března 01 MO 1. Najděte všechna celá čísla n, pro něž je n 4 3n + 9 prvočíslo. (leš Kobza) Řešení. Zadaný výraz lze jednoduchou
7. Derivace složené funkce. Budeme uvažovat složenou funkci F = f(g), kde některá z jejich součástí
202-m3b2/cvic/7slf.tex 7. Derivace složené funkce. Budeme uvažovat složenou funkci F = fg, kde některá z jejich součástí může být funkcí více proměnných. Předpokládáme, že uvažujeme funkce, které mají
CVIČNÝ TEST 9 OBSAH. Mgr. Václav Zemek. I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 17 IV. Záznamový list 19
CVIČNÝ TEST 9 Mgr. Václav Zemek OBSAH I. Cvičný test 2 II. Autorské řešení 5 III. Klíč 17 IV. Záznamový list 19 I. CVIČNÝ TEST 1 Vypočítejte (7,5 10 3 2 10 2 ) 2. Výsledek zapište ve tvaru a 10 n, kde
Limita a spojitost funkce. 3.1 Úvod. Definice: [MA1-18:P3.1]
KAPITOLA 3: Limita a spojitost funkce [MA-8:P3.] 3. Úvod Necht je funkce f definována alespoň na nějakém prstencovém okolí bodu 0 R. Číslo a R je itou funkce f v bodě 0, jestliže pro každé okolí Ua) bodu
3. ANTAGONISTICKÉ HRY
3. ANTAGONISTICKÉ HRY ANTAGONISTICKÝ KONFLIKT Antagonistický konflikt je rozhodovací situace, v níž vystupují dva inteligentní rozhodovatelé, kteří se po volbě svých rozhodnutí rozdělí o pevnou částku,