ankit_singh_programs's blog

By ankit_singh_programs, history, 3 days ago, In English

Hello Codeforces I have solved a lot of A,B,C problems. I am easily able to solve A,B,C problems but I am struggling a lot in D,E level problems. For example I am trying to solve problem D2 from Yesterday Div 3 round Codeforces Round #748 Div 3 D2. I was able to solve D1 in 5-7 min And i am struggling from D2 from last 4-5 hr. and basically I dont have idea how to solve it.

Is there are some special different type of methods used to solve harder problems

Also please mention Algorithms,Data structures,and methods needed to learn to solve harder (E,F) problems.

Thanks in advance :)

 
 
 
 
  • Vote: I like it
  • -26
  • Vote: I do not like it

»
3 days ago, # |
Rev. 2   Vote: I like it -6 Vote: I do not like it

you are still a newbie, you need to learn to solve problem a, b more faster(solve both in less than 30 minutes).

»
3 days ago, # |
  Vote: I like it +5 Vote: I do not like it

You usually solve problems A and B in 1 — 1.5 hour so even though you were able to solve D, E and F you wouldn't have time to read them. On the other hand, your rating is 1020 and the problem you are trying to solve is rated 1900. Why are you wasting your time trying to solve a problem that is waaaay higher than your rating?

  • »
    »
    3 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    I have already solved 600 easy medium problems on codechef and 130 (A,B,C) on codeforces.

    So i think its now better to solve more harder problem

    Whats your advice?

  • »
    »
    3 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    And my rating is very low bcz i am now not focusing a lot on contests now. I am now focusing more on practicing. If you see my submission list I have Submitted A problem in 1 hr it not bcz i am unable to solve it but bcz i started contest 1 hr late. I solve past Div round Problems at time of contest(not focusing at lot on contests now) My plan is to practice first a lot and if get time do some contests. And after practicing I will chose a contest and just shoot up. ( I basically want a +1000 to +1200 rating in just one contest)

    Again, What's your advice :) ?

    • »
      »
      »
      3 days ago, # ^ |
        Vote: I like it 0 Vote: I do not like it

      This is my first comment, I joined CF few days ago (I'm a Leetcode guy), I'm not the right person to reply for this but I feel I should share my mindset, I firmly believe rating is just a physical reward you get against your hardwork at this point of time. I'm not a red coder I don't know what they feel about this, you are also newbie (but a good newbie than me) so I'm suggesting you this, If I were you, I'd not miss any contest because as we say in hindi "ज्ञान का महत्व उसके उपयोग में हैं"

      If anybody feels I'm on a wrong path, please let me know, what should I change in my mindset/prep.

    • »
      »
      »
      2 days ago, # ^ |
        Vote: I like it +4 Vote: I do not like it

      You are saying that the reason why you solve A slow is because you start the contest late, but even in contests you finish A in 10 minutes you finish B in 1 hour. As atilla said, it doesnt matter if you can solve D at this point, even ignoring the fact that div2D is much harder than B.

      Have some humility, get good at solving problems around your rating (1000-1500) before you worry about D,E,F. You wont get better by making excuses for why you perform the way you do instead of improving on your flaws.

»
3 days ago, # |
  Vote: I like it +3 Vote: I do not like it

Lots of practice, upsolving and virtual rounds :)

  • »
    »
    3 days ago, # ^ |
      Vote: I like it 0 Vote: I do not like it

    Yeah, its a general advice. But any specific advice to solve harder problems.

    For example:- I dont know about segment tree few weeks ago and trying to solve one segment tree problem on codechef.

    So which other algoritms,Data structures(like segment trees) needed to study to solve Hard (D,E,F) level problems

    • »
      »
      »
      3 days ago, # ^ |
        Vote: I like it +3 Vote: I do not like it

      If you are learning any new topics I would suggest start solving very basic problems related to that, from that you will gain more knowledge like at what places u can use this algo or data structures it will also improve your implementation skills. Right now in my pov no need to study seg tree, start from very basic topics like sieve, dfs, bfs, modulo arithmetic etc. once u reach specialist(or next color) start learning more advanced topics. Try to solve two next difficult problems after the contest which u were not able to solve that really helps and if not able to do so try reading tutorial and if u r not able to understand the tutorial even after reading it 3 4 times i would suggest it to skip it for now.

      • »
        »
        »
        »
        3 days ago, # ^ |
        Rev. 3   Vote: I like it 0 Vote: I do not like it

        I already know those basic topics.

        Why you guys are analyzing my skill by just seeing my rating >-<.

        I am asking about advanced topics needed to study to solve hard problems like segment trees,splay,etc..

        • »
          »
          »
          »
          »
          3 days ago, # ^ |
          Rev. 2   Vote: I like it +11 Vote: I do not like it

          I never said that i am analyzing your skills by seeing ur rating, I just said start by solving problems on easier topics and then move to advanced topics and as u have already solved so many easier problems try to solve them in less amount of time you can analyze urself by giving virtual contest And i also don't have gud knowledge of advanced topics so that's why I said to reach specialist first. DM me if you want to ask anything else :)

        • »
          »
          »
          »
          »
          2 days ago, # ^ |
            Vote: I like it 0 Vote: I do not like it

          What if you will learn various topics and could not able to apply during the contests. There is no guarantee that even if you know various topics and hard problems,you will do very well in contests. A contest is a different ball game. OK practice is important But not too much. If you are really interested to solve D,E level problems then start with some implementation based problems. In order to learn new set of topics you need to master your implementations skills. Go to problem-set select implementation tags for D,E and start practising.

          secondly,when someone is saying something,Develop a habit of listening. Even if how stupid it sounds ,try to find some productivity in it. Then only you will improve. Gaining +1000 or +1200 rating is not a practical thing and that too in a single contest. It will take years of practice,handwork and repetitive contests to achieve it. Develop the habit of patience, this quality is extremely essential to improve your strength.

          Code-forces is a very big community. Everyone is there to help you and guide you. You just have to do the hard task that is to "Listen".

        • »
          »
          »
          »
          »
          2 days ago, # ^ |
          Rev. 7   Vote: I like it 0 Vote: I do not like it

          most of the topics you need:

          Brute force, DP, DFS ,BFS, Dijkstra, Binary Indexed Tree, Segment Tree, nCr, nPr, Mod inverse, Bitmasks, Binary Search

          even if you know these topics you will not be able to get the idea of the solution.

          you need to practice.

»
3 days ago, # |
  Vote: I like it 0 Vote: I do not like it

solve 1300+ problem will definitely help