Hirdetés
- Ilyen olcsó sem volt még egy Apple notebook
- Túl nagy alkatrészt vettél? Így kerülheted el a PC-építés legnagyobb hibáját
- MWC 2026: leégsz, ha nem figyelsz a TCL 15 ezer nites panelje előtt
- Második villámcsapás: teszteltük a ROG Raikiri II Xbox kontrollert
- 100 TB-os HDD-k felé vezető alapot prezentált a Seagate
- Soundbar, soundplate, hangprojektor
- Milyen monitort vegyek?
- Intel Core i7 9xx "Bloomfield" (LGA 1366)
- Ilyen olcsó sem volt még egy Apple notebook
- Milyen billentyűzetet vegyek?
- Melyik tápegységet vegyem?
- Kicombosította az M5-ös SoC-családot az Apple
- Sony MILC fényképezőgépcsalád
- OLED TV topic
- Meghozta a régóta várt asztali Ryzen APU-kat az AMD
-
PROHARDVER!

Új hozzászólás Aktív témák
-
D@ve89
tag
Sziasztok!
Volna egy feladatom, de nem tudok rájönni a helyes algoritmusra. Ebben kérném segítségeteket. A feladat szövege:
Adott a számegyenesen egy szakasz az A és B egész értékű végpontjával (A < B), és adottak a [k1; v1]; ... ; [kn; vn] (ki < vi; i = 1; ... ; n) zárt intervallumok egész értékű kezdő és végpontjaikkal. Kiválasztandó az intervallumoknak egy olyan halmaza, amely lefedi az [A;B] szakaszt, azaz minden x egész számra, amely eleme az [A;B] szakasznak (A <= x <= B) van olyan kiválasztott [ki; vi] intervallum, amelynek x eleme, azaz ki <= x <= vi. Az a cél, hogy a lefedés költsége, ami a kiválasztott intervallumok hosszainak összege, minimális legyen. Egy [k; v] intervallum hosszán a v-k értéket értjük. Írjon olyan programot, amely megad egy minimális költségű lefedést!
Bemeneti speci�káció
A be.txt szöveges állomány első sora két egész számot tartalmaz (egy szóközzel elválasztva), a lefedendő szakasz. A kezdő és B végpontját (1 <= A < B <= 10000). A második sor egyetlen egész számot, a lefedésre használható intervallumok n (1 <= n <= 1000) számát tartalmazza. A következő n sor mindegyike két egész számot tartalmaz: k v, egy lefedésre használható intervallum k kezdő és v végpontját (A <= k < v <= B). A bemenetben az
intervallumok a jobb-végpontjuk (v) szerint nemcsökkenő sorrendben vannak megadva./ki, vi jelöléseknél az "i" az indexet jelöli/
Példa a be.txt-re:
2 50
6
2 4
3 18
15 19
10 33
20 45
22 50Ezen felül meg van adva az időlimit (0,1 mp), és a memórialimit (16MB).
Szóval kellene valami viszonylag gyors algoritmus.
Az én ötletem (ami nem feltétlen a minimális költségű lefedést adja meg):
Ugyebár a megadott intervallumok végpont szerint nemcsökkenő sorrendben vannak megadva. Az első és utolsó intervallumra mindenképpen szükségünk lesz. Vesszük az utolsó intervallumot. Majd haladunk visszafele, és megnézzük, hogy az előtte levő intervallum végpontja >= az utolsó intervallum kezdőpontjánál. Ha igen, akkor eltároljuk, és haladunk tovább az intervallumokkal, megnézzük ugyanezt a vizsgálatot az a következőnél is. Ha végig értünk, akkor kiválasztjuk a leghosszabb intervallumot a megfelelőek közül, majd ezt vesszük "utolsónak", és kezdjük elölről az egészet.
Mindaddig csináljuk ezt az egészet, míg az első intervallum nem lesz a mi "utolsónk".Viszont ez nem a minimális költségű lefedést adja, hanem a legnagyobb intervallumokkal fedi le a szakaszunkat.
Tehát ezt kéne kombinálni még úgy, hogy az intervallumok átfedéseinek összege minimális legyen.
Kódra nincs szükségem, ha meglenne az algoritmus, az már valószínűleg menne.
Előre is köszi.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
- Lexus, Toyota topik
- Renault, Dacia topik
- Soundbar, soundplate, hangprojektor
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Luck Dragon: Asszociációs játék. :)
- Samsung Galaxy Felhasználók OFF topicja
- Formula-1
- Építő/felújító topik
- Milyen monitort vegyek?
- További aktív témák...
- Garanciális Deepcool PN850-M Black 850W 80 PLUS Gold
- Lenovo ThinkPad X1 Carbon Gen 10 i5-1245U / 16GB RAM / 512GB NVMe SSD / 1920 1200 / EU billentyűzet
- Lenovo ThinkPad X1 Carbon Gen 7 i5-8365U / 8GB RAM / 256GB NVMe SSD / 14" FHD / 12 hónap garancia
- Lenovo ThinkPad X1 Carbon Gen 9 i5-1145G7 / 16GB RAM / 256GB NVMe SSD / 14" WUXGA / 12 hónap garanci
- Gtx 1080/ Intel I7 8700K/ 16GB Ram/ 256GB M2 SSD/ 1TB HDD/ Win11
- iking.hu Apple iPhone XR 64GB használt White megkímélt 100% akku 6 hónap garancia
- Apple iPad Pro 12,9 (3. generáció) 64GB Wi-Fi + Cellular használt, karcmentes
- GYÖNYÖRŰ iPhone 13 Mini 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4066, 94% AKKSI
- 192 - Lenovo Legion 5 (15IRX10) - Intel Core i7-14700HX, RTX 5060 (ELKELT)
- REFURBISHED és ÚJ - HP USB-C/A Universal Dock G2 (5TW13AA) (DisplayLink)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


