Pagini: 1 ... 3 4 [5]   În jos
  Imprimă  
Ajutor Subiect: 014 Secventa  (Citit de 36495 ori)
0 Utilizatori şi 1 Vizitator pe acest subiect.
Bit_Master
Vorbaret
****

Karma: -49
Deconectat Deconectat

Mesaje: 159



Vezi Profilul
« Răspunde #100 : Iulie 18, 2011, 11:55:57 »

Vre-un exemplu in care solutia nu are lungime k? Pt ca la o solutie ipotetica de lungime mai mare ca k i-ai taia elementele de la sfarsit sa ajunga de lungime k. Astfel ar avea prioritate in fata secventei initiale (are indicele de sfarsit mai mic), iar baza ei nu poate decat sa creasca in urma taierii, deci sa aiba o baza fie egala, fie chiar mai mare.

_______
Mai tarziu:
Da, am luat 100 considerandu-le doar pe cele de lungime k.
80 cu scanf, 100 cu stream-uri
« Ultima modificare: Iulie 18, 2011, 12:05:30 de către Alexandru-Iancu Caragicu » Memorat
mening12001
Strain


Karma: -13
Deconectat Deconectat

Mesaje: 14



Vezi Profilul
« Răspunde #101 : Decembrie 23, 2011, 20:46:41 »

Cod:
 

#include<fstream>
using namespace std;
int a[500000],b[500000],maxx=-30001,prim,ultim,p,u;
int main()
{ifstream f("secventa.in");
ofstream h("secventa.out");
int n,i,k,j,z;
f>>n>>z;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
{j=i-1;
k=0;
while(j>=1&&a[j]>=a[i]&&k<z)
{k++;
j=j-1;}
prim=j+1;
j=i+1;
while(j<=n&&a[j]>=a[i]&&k<z)
{k++;
j=j+1;}
ultim=j-1;
k++;
if(a[i]>maxx&&k>=z)
{maxx=a[i];
p=prim;
u=ultim;}}
h<<p<<" "<<u<<" "<<maxx;
return 0;}


ma poate ajuta cineva...spunandu'mi ce este gresit la aceast algoritm ?
iau doar 10 puncte ,wrong answer pe cele ramase
« Ultima modificare: Decembrie 23, 2011, 20:52:14 de către FMI - Paul-Dan Baltescu » Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #102 : Decembrie 23, 2011, 21:01:56 »

Ok, hai sa clarificam niste ground rules. Nu posta cod pentru debug, pentru ca cel mai des nu o sa stea nimeni sa inteleaga ce ai facut. Spune in schimb ce idee ai in spate ca sa verifici daca e corecta, iar implementarea testeaza-ti-o singur, fiindca te ajuta foarte mult.

De-asemenea, ar fi bine ca sursa sa nu arate ca o poezie de-a lui Blaga, identeaza si tu pe-acolo, mai lasa niste spatii, tot pe tine te ajuta. Nu stiu cum dovedesti sa potrivesti macar acoladele in forma asta. Best of luck Smile
Memorat
visanr
Nu mai tace
*****

Karma: 168
Deconectat Deconectat

Mesaje: 213



Vezi Profilul
« Răspunde #103 : Aprilie 28, 2012, 14:19:46 »

Nu stiu ce n-am facut bine, dar deque + citire parsata = 70 de pct  Huh
Imi poate spune si mie cineva ce pot sa mai optimizez? Teoretic complexitatea asta ar trebui sa intre in timp.


http://infoarena.ro/job_detail/742104?action=view-source
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #104 : Aprilie 28, 2012, 15:20:23 »

Nu prea e parsare ce faci acolo, fiindca citesti caracter cu caracter. Citeste tot randul cu fgets sau fread.
Memorat
visanr
Nu mai tace
*****

Karma: 168
Deconectat Deconectat

Mesaje: 213



Vezi Profilul
« Răspunde #105 : Aprilie 28, 2012, 15:36:47 »

Incercasem initial cu cin.getline si strtok, luam 60 de pct.  http://infoarena.ro/job_detail/742096?action=view-source


O sa incerc si cu fgets/fread si revin cu rezultatul


LE: 100 cu fgets, multumesc pt sfat!
« Ultima modificare: Aprilie 28, 2012, 15:46:44 de către Visan Radu » Memorat
depevlad
Strain
*

Karma: 13
Deconectat Deconectat

Mesaje: 32



Vezi Profilul
« Răspunde #106 : Martie 04, 2015, 13:44:00 »

Eu facusem initial problema cu o stiva, cu compexitate O(n) si o constanta de vreo 4, dar lua 80 de puncte din cauza a doua teste care dadeau TLE . Pentru cei care au aceeasi problema, sa stiti ca pentru mine parsarea a scos 100 pct.  Very Happy Very Happy Very Happy
Memorat
SilviuI
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 1



Vezi Profilul
« Răspunde #107 : Septembrie 22, 2015, 17:51:11 »

Nu e necesar de folosit deque,o solutie cu RMQ se incadreaza perfect in timp. Very Happy Very Happy
Memorat
klamathix
Echipa infoarena
Nu mai tace
*****

Karma: 733
Deconectat Deconectat

Mesaje: 1.216



Vezi Profilul
« Răspunde #108 : Septembrie 22, 2015, 20:46:26 »

Dar un deque e mai simplu decât un RMQ  Smile.
Memorat
MareSite
Strain


Karma: -3
Deconectat Deconectat

Mesaje: 10



Vezi Profilul
« Răspunde #109 : Decembrie 07, 2015, 19:14:16 »

Yaay, dupa atata timp, insfarsit mi-a iesit solutia
Memorat
TeodorCotet
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 2



Vezi Profilul
« Răspunde #110 : Septembrie 11, 2016, 00:26:59 »

Solutia in O(N) ia 80 de puncte. M-am uitat pe ultimele surse de 100 si nu am gasit niciuna care sa nu parseze citirea, ar trebuie marita limita de timp.
Memorat
NinjaCube
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #111 : Martie 03, 2017, 13:05:06 »

imi poate spune cineva unde gresesc ?
Cod:
for (i=1;i<=n;++i){
        fin>>x;
        if (ps==0)
            d.pop_back();
        while(x<d.front()&&!d.empty()){
            d.pop_front();
            ++ps;
            }
        d.push_front(x);
        --ps;
        if (d.back()>maxZ&&i>=k){
            maxZ=d.back();
            dr=i;
            st=i-k+1;}
    }
Memorat
Bodo171
Client obisnuit
**

Karma: 11
Deconectat Deconectat

Mesaje: 52



Vezi Profilul
« Răspunde #112 : Martie 04, 2017, 15:52:34 »

Cred ca trebuie sa ai mai multa grija cum elimini elementul back din deque.
Memorat
NinjaCube
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #113 : Martie 07, 2017, 08:44:25 »

imi poate spune cineva ce e gresit la sursa asta
Cod:
    for (i=1;i<=n;++i){
        while(!d.empty() && v[i]<=v[d.front()]) d.pop_front();
        d.push_front(i);
        if(d.back()<=i-k)
        d.pop_back();
        if (i>=k && v[d.back()]>maxZ){
            maxZ=v[d.back()];
            dr=i;
            st=i-k+1;}
    }
Memorat
NinjaCube
Strain


Karma: 0
Deconectat Deconectat

Mesaje: 3



Vezi Profilul
« Răspunde #114 : Martie 07, 2017, 08:52:42 »

am gasit problema, e de la citire, trebuie parsata
Memorat
Pagini: 1 ... 3 4 [5]   În sus
  Imprimă  
 
Schimbă forumul:  

Powered by SMF 1.1.19 | SMF © 2006-2013, Simple Machines