•filipb
|
|
« : Septembrie 13, 2008, 15:13:38 » |
|
Aici puteti discuta despre problema Dictree.
|
|
|
Memorat
|
|
|
|
•Kid0
Strain
Karma: 1
Deconectat
Mesaje: 2
|
|
« Răspunde #1 : Octombrie 10, 2008, 23:10:54 » |
|
Salut, un hint ceva despre cum ar trebui rezolvat? Folosesc o structura de date typedef struct _nod { char info; _nod *fiu; _nod *frate; } nod; dar depaseste memoria maxima alocata cu 200-300k. Ideea este ca fiii unui nod sunt fratii primului fiu si deci *frate va fi o lista de fii. Am incercat si cu __attribute__((__packed__)) dar nu a redus cu prea mult dimensiunea.
|
|
« Ultima modificare: Octombrie 10, 2008, 23:32:27 de către Shizzle Nizzle »
|
Memorat
|
|
|
|
•gabitzish1
|
|
« Răspunde #2 : Octombrie 10, 2008, 23:32:03 » |
|
Si eu am incercat cu construirea efectiva a arborelui si a iesit din memorie. Incearca sa retii cuvintele intr'o matrice, le sortezi, apoi vezi care se suprapun si numeri cate litere trebuie introduse in arbore.
|
|
|
Memorat
|
|
|
|
•Kid0
Strain
Karma: 1
Deconectat
Mesaje: 2
|
|
« Răspunde #3 : Octombrie 11, 2008, 16:13:15 » |
|
Mersi. A mers intradevar asa. Desi asta a fost si prima mea idee de rezolvare, traiam cu impresia ca sortarea tabelei de cuvinte dureaza prea mult si ca nu se va incadra, si de aceea am trecut la crearea arborelui, care din ce am observat este ceva mai rapid. Insa si std::sort se descurca bine. Oare un radixsort s-ar descurca mai bine?
|
|
|
Memorat
|
|
|
|
•alex_mircescu
Client obisnuit
Karma: -15
Deconectat
Mesaje: 55
|
|
« Răspunde #4 : Noiembrie 06, 2008, 17:57:49 » |
|
Am si eu o intrebare... Cum pot sorta un vector de stringuri ?? Am incercat asa ceva in program: int cmp(const void *a, const void *b) { return *(char *)a - *(char *)b; } ............. ............. //apelarea qsort(v + 1, n, sizeof(v[0]), cmp); .............
Nu sorteaza cum trebuie (lexicografic)... AJUTOR?
|
|
|
Memorat
|
|
|
|
•sima_cotizo
|
|
« Răspunde #5 : Noiembrie 06, 2008, 20:26:05 » |
|
Slabe sanse sa reusesti cu qsort din stdlib. Poate cu sort-ul din algorithm + clasa string, dar cred ca e prea mare bataia de cap. Eu as asocia vectorului tau de stringuri un "vector de pozitii" O, care are semnificatia ca daca ordonez vectorul de stringuri, voi avea pe pozitia i stringul O[ i ]. Initial, O[ i ] = i. Folosesc o functie de sortare (acum merge si qsort), cu o functie de comparare de genul: int compare( int a, int b ) { return strcmp(S[a],S[b]); // S este vectorul de stringuri }
Un exemplu: Initial: S O ---------------------- mama 1 tata 2 amam 3 atat 4
Dupa sortare: S O ---------------------- amam 3 atat 4 mama 1 tata 2
Sper ca poti adapta ideea nevoilor tale
|
|
|
Memorat
|
|
|
|
•zloteanu.adrian
Strain
Karma: -9
Deconectat
Mesaje: 38
|
|
« Răspunde #6 : Septembrie 12, 2009, 15:02:17 » |
|
cum pot sa sortez rapid primul element al fiecarei linii dintr-o matrice(int)?
|
|
« Ultima modificare: Septembrie 12, 2009, 15:40:00 de către zloteanu adrian nichita »
|
Memorat
|
|
|
|
•PavelRazvan
Strain
Karma: 11
Deconectat
Mesaje: 25
|
|
« Răspunde #7 : Decembrie 07, 2009, 18:26:33 » |
|
Un exemplu valoreaza cat 1000 de cuvinte. Corect
|
|
|
Memorat
|
|
|
|
•otilia_s
Strain
Karma: 0
Deconectat
Mesaje: 12
|
|
« Răspunde #8 : Martie 15, 2010, 18:59:07 » |
|
Puteti sa imi dati si mie va rog inca un exemplu, poate unul mai special? Nu reusesc sa imi dau seama unde greseste rezolvarea mea. Folosesc cam aceeasi idee, cea cu sortarea.
|
|
|
Memorat
|
|
|
|
•SpiderMan
|
|
« Răspunde #9 : August 19, 2010, 12:44:21 » |
|
Uite niste exemple, sper sa te ajute : 10 sdlgfnsdigbsdibgisdfsdfsdfsdfsdfdsfdsfds dsfsdfsdsdifbgsduusidbiusdgsdgsdgsdg sdgs dgsdgsdgsdgsdgsgsdgsdgsdgsdgsdg cghuinsdugbsdugsgsdg sdg sdgsdgsgdsgdsgdgsdsgdsgdgsdgsdsgd aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa sdsdgjsiogsdgnisongsiodgsd jkjjjjjgjsdgsdg
----------------------
12 a b c d e f g h i j k l
Iar aici unul mai mare : http://www.2shared.com/file/GjzZL2DP/Desktop.html
|
|
|
Memorat
|
|
|
|
•belginstirbu
Strain
Karma: 0
Deconectat
Mesaje: 3
|
|
« Răspunde #10 : Iunie 18, 2012, 10:08:34 » |
|
Dacă toate cuvintele încep cu aceeași literă, nu cred că mai trebuie adăugată acea rădăcină neetichetată, deoarece rădăcina poate fi un nod cu prima literă a cuvintelor. Eu am rezolvat ținând cont de acest lucru și programul a picat testul 2 (restul le-a trecut). Când am modificat programul astfel încât să adauge acea rădăcină neetichetată în orice caz, a trecut și testul 2.
|
|
|
Memorat
|
|
|
|
•PlayLikeNeverB4
|
|
« Răspunde #11 : Iunie 18, 2012, 18:45:13 » |
|
Muchiile sunt etichetate cu litere, nu nodurile.
|
|
|
Memorat
|
|
|
|
|
•Schumi
Client obisnuit
Karma: 36
Deconectat
Mesaje: 74
|
|
« Răspunde #13 : Iulie 11, 2012, 12:40:11 » |
|
I-a intrat cuiva in memorie solutia care foloseste trie?
|
|
|
Memorat
|
|
|
|
•klamathix
|
|
« Răspunde #14 : Iulie 11, 2012, 12:43:01 » |
|
Nu. Solutia asta nu ia punctaj maxim.
|
|
|
Memorat
|
|
|
|
•Schumi
Client obisnuit
Karma: 36
Deconectat
Mesaje: 74
|
|
« Răspunde #15 : Iulie 11, 2012, 13:16:29 » |
|
Multumesc Am bagat solutia cu sortare si a mers.
|
|
|
Memorat
|
|
|
|
|
•superman_01
Client obisnuit
Karma: 14
Deconectat
Mesaje: 52
|
|
« Răspunde #17 : Martie 29, 2013, 20:33:37 » |
|
tot ma chinui la problema asta si nu imi dau seama ce gresesc(iau Incorect pe un test) +2TLE...ma poate ajuta cineva sa cu o optimizare? Multumesc anticipat!
|
|
|
Memorat
|
|
|
|
•repp4radu
|
|
« Răspunde #18 : Martie 29, 2013, 22:40:07 » |
|
Citeste sirul intreg, nu caracter cu caracter.
|
|
|
Memorat
|
|
|
|
•superman_01
Client obisnuit
Karma: 14
Deconectat
Mesaje: 52
|
|
« Răspunde #19 : Martie 30, 2013, 00:04:23 » |
|
pai il citesc linie cu linie. Cum ar trebui sa citesc ca un sir intreg ?
|
|
« Ultima modificare: Martie 30, 2013, 00:20:59 de către Avramescu Cristian »
|
Memorat
|
|
|
|
•repp4radu
|
|
« Răspunde #20 : Martie 30, 2013, 09:03:06 » |
|
Scuze, nu am fost atent ca c este un sir de caractere .
|
|
|
Memorat
|
|
|
|
•superman_01
Client obisnuit
Karma: 14
Deconectat
Mesaje: 52
|
|
« Răspunde #21 : Martie 30, 2013, 09:14:40 » |
|
si al idee de optimizare ?Eu ma gandeam sa tin minte indicii si sortez indicii dar nu stiu cum sa sortez indicii tinand cont ca ar trebui sa compar 2 string-uri.Am incercat si cum zice mai sus Cotizo,dar nu mi-a mers. L.E. mi-a iesit pana la urma.Uitam sa pun niste conditii in while
|
|
« Ultima modificare: Martie 30, 2013, 09:34:37 de către Avramescu Cristian »
|
Memorat
|
|
|
|
|