napoleonTR's blog

By napoleonTR, history, 6 weeks ago, In English,

Hi everyone.I am new in Codeforces and i need your precious advices for me.In fact,i am in fourth(last)grade of highschool and i contributed in numerous biology competitions,including IBO(International Biology Olympiad)and i will study medicine.But i am really crazy for programming and i want to be a programming guru.For now,i know Python 3's structure well(or i think).My problem is algorithms and practice i think.I can solve some kind of problems including brute force(which i manage with loops :D),implementation etc.I solved a few(5 or 6 i think)in two days in this site.So ,after that i am turning through and listening you...

 
 
 
 
  • Vote: I like it  
  • +15
  • Vote: I do not like it  

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

If you want to start learning algorithms and Data Structures go for Introduction to algorithms book .

it the best book to learn algorithms for .

you can solve problems that targeting specific algorithm . you can a2oj for that .

and solve a lot of problems practicing is the most important thing .

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

I was new and had zero knowledge of problem solving and everytime I asked someone for advice most of them told me to solve more and more problems. One good way is go to problemset and sort them by difficulty(click on "Solved" button) and solve more and more. This helped me to learn a lot of things, including bruteforce which you seem to know already. Once you get comfortable with problems A and B, start learning algorithms and data structures respective to what your problem requires.

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

Keep solving problems now and then, attend contests regularly. Within 1/2 weeks you'll know what is your place.

If in that time you face difficulty in coding (not in thinking part) then you need to master your language first. Bcz many ash/grey coders in cf are ash/grey because of their lack of knowledge in the language they use.

Otherwise just try to up solve the problems from those contests. Face the hard problems. Most of the time you'll see you don't know what you have to do, then look at the editorials for the problems. Figure out what algorithm/data structure is used to solve that problem, then google about that topic and learn that. It's a long process but it is surely worth it.

»
6 weeks ago, # |
  Vote: I like it +4 Vote: I do not like it

Solve problems from codeforces from easy to hard http://codeforces.com/problemset?order=BY_SOLVED_DESC,and this book is for you https://cses.fi/book.html by pllk . If you want to solve problems you can solve from https://www.e-olymp.com/en/ . You must solve more problems! I solved more 500+ or 400+ problems but is few for me ,i think that.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I also recommend pllk book, https://cses.fi/book.html

    It helps a lot. Read the book and look for problems that are similar to some of its topics.

  • »
    »
    6 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yeah,I already started reading it.But it says that i must learn c++.Is it fundamental?Cus i use Python and don't face difficulties while coding(maybe because of its obviously basic nature).Is c++ necessary for competitive programming?Thx a lot.

    • »
      »
      »
      6 weeks ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      In IOI and other international programming olympiads don't allow programming in python it is first and second i advice you to learn c++. It isn't difficult and very comfortable. If you don't want to learn c++ ,it isn't a big problem ,because some languages is similar .You must learn algorithms,it is important.

    • »
      »
      »
      5 weeks ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      The main criticism of Python is that it is slower than C++ so there could be cases where the same algorithm will work in C++ but will exceed the time limit in Python. It shouldn't be a problem when the limit on the test case size is small like in earlier questions but when you start needing close to 2*10^8 operations it could hurt you.

»
6 weeks ago, # |
  Vote: I like it +1 Vote: I do not like it

UPD: you can solve problems from https://www.codechef.com/ .In practice will be problems beginner,easy,medium,and hard problems.Good luck to you !

»
6 weeks ago, # |
  Vote: I like it 0 Vote: I do not like it

e-maxx, but you need to know russian language:(

  • »
    »
    5 weeks ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Google translate will do work, also English version available but it's not full. click