![]() |
Az A. 893. feladat (2024. december) |
A. 893. Egy szövegszerkesztő programban kezdetben egy lábnyom jel (L) szerepel, amelyet szeretnénk megsokszorozni. Sajnos hekkertámadás áldozata lett a gépünk, és csak két funkció működik: a Másolás és a Beillesztés, ráadásul mindkettő 1 Dürer dollárba kerül használatonként. A Másolás funkció használatakor kijelölhetünk egy vagy több egymás utáni jelet a meglévők közül, és a gép megjegyzi azok darabszámát. A Beillesztés funkció használatakor annyi új lábnyom jelet tesz hozzá a gép a jelsorozathoz, amennyit a legutóbbi Másolásnál kijelöltünk. Ha még nem Másoltunk, nem használhatjuk a Beillesztést. Jelölje D(n) azt, hogy legkevesebb hány Dürer dollár kell ahhoz, hogy pontosan n darab lábnyom jelet kapjunk. Bizonyítsuk be, hogy bármilyen pozitív egész k-ra létezik olyan N pozitív egész szám, amelyre
D(N)=D(N+1)+1=D(N+2)=D(N+3)+1=D(N+4)=……=D(N+2k−1)+1=D(N+2k).Dürer Verseny feladat alapján
(7 pont)
A beküldési határidő 2025. január 10-én LEJÁRT.
Osszuk a lépéseket blokkokra: egy blokk induljon Másolással és záruljon a következő Másolás előtt közvetlenül, azaz minden blokkban pontosan egyszer Másolunk, a blokk első lépéseként. Először megmutatjuk, hogy tetszőleges n esetén el lehet érni n lábnyomot D(n) lépéssel úgy, hogy minden blokk legfeljebb 3 méretű. Indirekten tegyük fel, hogy ez nem igaz, és létezik egy n szám, melyre akármelyik D(n) költségű, n lábnyomot elérő sorozat esetén van legalább 4 méretű blokk. Tekintsünk egy olyan lépéssorozatot, ami D(n) lépés alatt csinál n lábnyomot, és a leghosszabb blokk hossza minimális, ahol ez a minimum k≥4. Tekintsünk egy k hosszú blokkot, ami tehát egy Másolásból, és k−1 Beillesztésből áll. Ehelyett csináljuk azt, hogy a Másolást ugyanúgy megcsináljuk, majd csak k−3 Beillesztést csinálunk (ahol k−3≥1), majd Másolunk kétszer annyi karaktert, mint amennyit a blokk elején Másoltunk, és ezt egyszer Beillesztjük. Így ugyanannyi lépést használtunk, és végül ugyanannyi lábnyomot kaptunk, azonban a blokkot két rövidebb blokkra osztottuk. Ezt elvégezve az összes k hosszú blokkra rövidítettük a leghosszabb blokk hosszát, így ellentmondásra jutottunk. Ezzel beláttuk, hogy mostantól mindig feltehetjük, hogy minden blokk legfeljebb 3 hosszú.
Ezek alapján megmutatjuk, hogy D(n)-re teljesül az alábbi rekurzió ha n≥2.
D(n)=min(2+minn/2≤k<nD(k), 3+minn/3≤k<n2∣n−kD(k)).
Ez azért teljesül, mert ha n-et felírjuk D(n) költséggel legfeljebb 3-hosszú blokkokkal, akkor az utolsó blokk vagy 2, vagy 3 hosszú. Előbbi esetben az utolsó blokk előttig elő kellett állítani legalább n/2 lábnyomot, majd plusz két dollárért elő tudjuk állítani az utolsó blokkal a kimaradó lábnyomokat. Utóbbi esetben akkor tudjuk egy három hosszú utolsó blokkal elérni, hogy összesen n lábnyom legyen, ha addig van legalább k≥n/3, illetve ha kétszer ugyanannyit Beillesztve pont n-et tudunk kapni, ami a 2∣n−k feltételt adja.
Kis esetek vizsgálatával meg lehet sejteni az általános képletet D(n)-re, ami a következőképpen írható le, ha n≥4. Legyen k az egyértelmű pozitív egész szám, melyre 3k+1≤n≤3k+1. Majd osszuk még tovább ezt az intervallumot:
- Ha 3k+1≤n≤3k+3k−1, akkor D(n)=3k+1,
- Ha 3k+3k−1+1≤n≤2⋅3k, akkor D(n)=3k+2,
- Ha 2⋅3k+1≤n≤2⋅3k+2⋅3k−1, akkor D(n)=3k+3,
- És ha 2⋅3k+2⋅3k−1+1≤n≤3k+1, akkor D(n)=3k+3, ha 2∤n, és D(n)=3k+4, ha 2∣n.
Látható, hogy az utolsó esetben felváltva szerepel a 3k+3 és a 3k+4 érték, így amennyiben bizonyítjuk, hogy tényleg ez a képlet D(n)-re, a feladat állításával is készen vagyunk.
A rekurzív képletet használva már kevés nehézség van a képlet k szerinti indukcióval történő bizonyításában, csak végig kell nézni az eseteket. A kezdőlépéshez ellenőrizzük, hogy D(1)=0, D(2)=2, D(3)=3, D(4)=4, D(5)=D(6)=5, D(7)=D(8)=D(9)=6, így k=1 esetén, azaz ha 31+1≤n≤32 tényleg teljesül az állítás.
Most tegyük fel, hogy már minden n≤3k számra bizonyítottuk a képletet, és most igazoljuk 3k+1≤n≤3k+1 esetén is.
- Ha 3k+1≤n≤3k+3k−1, akkor 3k−1+3k−2<n/2≤2⋅3k−1, amiből látható, hogy ha olyan konstrukciót akarunk, amiben kettő hosszú az utolsó blokk, akkor 3k+1 a legjobb, amit el tudunk érni. Továbbá 3k−1<n/3≤3k−1+3k−2, így hármas utolsó blokkal sem tudunk (3k+1)-nél jobbat elérni, azaz ebben az esetben tényleg D(n)=3k+1.
- Ha 3k+3k−1+1≤n≤2⋅3k, akkor 2⋅3k−1<n/2≤3k, amiből következik, hogy ha kettő hosszú az utolsó blokk, akkor nem tudunk (3k+2)-nél jobbat elérni, és ennyit pedig el is lehet érni, ha először 3k lépésből csinálunk 3k lábnyomot, majd egy Másolás-Beillesztéssel a további szükséges mennyiséget megcsináljuk. Továbbá ekkor 3k−1+3k−2<n≤2⋅3k−1, így hármas utolsó blokkal sem lehet (3k+2)-nél jobbat elérni, azaz D(n)=3k+2.
- Ha 2⋅3k+1≤n≤2⋅3k+2⋅3k−1, akkor 3k<n/2≤3k+3k−1, valamint 2⋅3k−1<n/3≤2⋅3k−1+2⋅3k−2, így az előző esetekhez hasonlóan, se kettes se hármas utolsó blokkal nem lehet (3k+3)-nál kevesebbet elérni, de kettes utolsó blokkal ez elérhető.
- Végül ha 2⋅3k+2⋅3k−1+1≤n≤3k+1, akkor 3k+3k−1<n/2≤2⋅3k, így kettes utolsó blokkal 3k+4 a legjobb, ami elérhető. Továbbá 2⋅3k−1+2⋅3k−2<n/3≤3k, így ha 2∤n, akkor 3k dollárral csinálva 3k lábnyomot, majd egy további megfelelő hármas blokkal el lehet érni összesen 3k+3 dollárért a kívánt mennyiségű lábnyomot. Ha pedig 2∣n, akkor hármas utolsó blokk esetén is kell 3k+4, mivel minden páros számhoz, ami legalább n/3 szükséges 3k+1 dollár. Ezzel ebben az esetben is igazoltuk a kívánt képletet, ami befejezi a bizonyítást.
Statisztika:
15 dolgozat érkezett. 7 pontot kapott: Aravin Peter, Bodor Mátyás, Czanik Pál, Holló Martin, Keresztély Zsófia, Kocsis 827 Péter, Minh Hoang Tran, Morvai Várkony Albert, Szakács Ábel, Varga Boldizsár, Wágner Márton, Xiaoyi Mo. 5 pontot kapott: 1 versenyző. 0 pontot kapott: 2 versenyző.
A KöMaL 2024. decemberi matematika feladatai
|