- Hobby elektronika
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Azonnali fotós kérdések órája
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Milyen billentyűzetet vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Melyik tápegységet vegyem?
- Milyen széket vegyek?
- Otthoni időjárás-állomás
-
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!
- Kis méret, nagy változás a Motorolánál
- Xbox Series X|S
- Lalikiraly: Macbook NEO 2
- Kertészet, mezőgazdaság topik
- Hobby elektronika
- Építő/felújító topik
- Mibe tegyem a megtakarításaimat?
- Crimson Desert
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Luck Dragon: Asszociációs játék. :)
- További aktív témák...
- BESZÁMÍTÁS! ASUS B550M R7 5700 32GB DDR4 512GB SSD RTX 3070 Ti 8GB Lian Li Vector V100R Corsair 650W
- BESZÁMÍTÁS! MSI Z390 i7 8700 32GB DDR4 500GB SSD 1TB HDD RTX 3060 12GB Zalman S2 TG FSP 800W
- BESZÁMÍTÁS! MSI Z270M i7 7700 16GB DDR4 512GB SSD RTX 2060 Super 8GB Zalman S2 TG ADATA 650W
- BESZÁMÍTÁS! ASUS STRIX B550 R5 5600 16GB DDR4 512GB SSD RTX 2080 SUPER 8GB Zalman S2 TG FSP 650W
- BESZÁMÍTÁS! ASUS STRIX B650E R7 7700X 16GB DDR5 512GB SSD RTX 4070 12GB NZXT H5 Flow RGB 750W
- Telefon felvásárlás!! Samsung Galaxy A20e/Samsung Galaxy A40/Samsung Galaxy A04s/Samsung Galaxy A03s
- AKCIÓ! LENOVO Legion 5 Pro 16ACH6H notebook - R7 5800H 16GB DDR4 512GB SSD RTX 3070 8GB
- iPhone 12 Pro Max 128GB Pacific Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4328, 100% AKKSI
- TP Link HS100 Távolról vezérelhető Wi-Fi-s dugalj (Smart Plug)
- TAVASZI AKCIÓK! GARANCIA, SZÁMLA - Windows 10 11, Office 2016 2019 2021,2024, vírusírtók, VPN
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


