kilobyte136's blog

By kilobyte136, history, 6 weeks ago, In English

Hello CodeForces, I am Back with a genuine question (and a pretty important one) with me,

How to get better at DSA and logic faster?

I’m trying to improve my DSA and problem‑solving logic, but I feel stuck in a loop:

  • I learn a topic (like arrays), then move to bit‑manipulation, only to realize it still needs arrays.
  • I go back, practice, then repeat — it feels slow and inefficient.

I know “practice a lot” is the usual answer, but how can this be done faster and more systematically?
Specifically:

  • How to structure my practice so each topic builds on the previous one without going in circles?
  • How to train “thinking” for 800–1200‑rated problems whose solutions are hard to come up with at first glance?

My current practice

  • I’m solving about 3 problems per day, mostly in the 800–1000 difficulty range.
  • My current Codeforces rating is 814, and I feel stuck repeating the same topics (arrays, strings, bit‑manip, etc.) without clearly seeing faster progress in logic.

What I’m trying to avoid

  • Re‑learning the same topics again and again without a clear plan.
  • Moving to “harder” topics too early and then being forced to go back to basics.

Specific questions I’d like advice on

  • Is 3 problems per day enough at this rating, or should I solve more / fewer but with deeper focus?
  • Once I solve a problem, should I re‑submit it later, or just move to new problems?
  • What’s a realistic roadmap for going from 800–1000 to 1200–1400 in terms of topics and problem‑solving habits?

If you managed to move from newbie to expert relatively fast, I’d really appreciate any concrete steps or a small roadmap you followed. Your advice could help a lot of beginners like me who are stuck in the same loop.

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

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

Same questions i also had few weeks ago my mentors told me all these doubts are useless its your hunger for solving problem which should drive you if u need to ask how much is enough then its pressure and i also felt yes why does it matter how much i can solve how much i am rated all of these are by products of the love of problem solving because i even solve ques on the night of my semester exams even if if i have not studied for exams after sometime it comes to my mind that maybe one night for study is imp i can leave cp but then i care more about my love for solving and ignore all the grades lets see where does my love take me i am okay with wherever i reach untill i ENJOY ~ My Mentor and my words

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

solve problems above your skill level. if you feel 800s are too easy (i.e. you solve thrm immediately 90% of the time) move on to the next level.

3 a day is sufficient i guess

don't bother resolving a problem. if you solved it you solved it.

just use cph (competitive programmer's handbook) or the usaco guide. but literally any guide is the same thing tbh

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

thank you for your thoughts guys! ill surely implement each one of them.

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

open AoPS alcumus, set it to insanely hard and till master setting

spam number theory , algebra and combinatrics

that's it, its working very well for me

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

    by very well, you mean, that's how you solve 2 problems in div. 4? And do you even know the mean of 'spam'? https://cf-cheater-database.vercel.app/search search your handle here, maybe learn english, instead of cheating

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

      wdym bruv, you are just talking to ur alt acc

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

        ahh ignore him, he is a troll account not mine

        he just create random accounts with _cheater tags and bully them

        like sending tons of "i ate x^100 tons of shit today"

        and i am a minor and i once had my photo(while suffering from a disease) as my pfp so he just stealed it and started circulating it, his every comment is troll and he have multiple alts 2 of them are cheater

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

          your acc is flagged as a cheater bruv. send me his other 2 accs handles.

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

            see my every submission and code and every single contest

            then tell me if i am a cheater, OKH??

            and i am marked because 8 month ago i had a newbie rated id in which i had cheated, but left it later and created new id(current)

            his alts are: AttractorsTheory attractors and 2 others

            but why do you even trust cf-cheater-database??, it is not official ,

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

              soo, i reviewed your code. and its quite something. you wrote the solution of this problem:

              from itertools import accumulate
              MOD = 676767677
               
              for _ in range(int(input())):
                  n, m = map(int, input().split())
                  b = [*map(int, input().split())]
                  cnt = [0] * m
                  for i in range(n):
                      cnt[b[i]] += 1
                  p = [0, *accumulate(cnt)]
                  ans = 1
                  for i in range(n):
                      if b[i] > 0:
                          t = min(b[v] for v in (i - 1, i + 1) if v in range(n)) + 1
                          if b[i] > t:
                              ans = ans * cnt[b[i] - 1] % MOD
                          elif b[i] == t:
                              ans = ans * p[b[i]] % MOD
                          else:
                              ans = 0
                  print(ans % MOD)
              

              but wrote this solution for this problem:

              a = int(input())
              b = int(input())
              c = int(input())
              if 1 not in [a,b,c]:
                  print(a*b*c)
              else:
                  l = [a,b,c]
                  d = min(l)
                  l.remove(d)
                  print((d+max(l))*min(l))
              

              the first one is a G, and this one was an A. Now you tell me, isnt that suspicious.

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

                stfu bro, that is upsolving not rated, i wrote this code while practicing not while contest

                like wth, you dont even know how to disable "show unofficial submission" to only get rated and while contest solution!

                are you that new to cf?

                you didnt even bothered to match my code from editorial

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

                  just sybau atp, ur the one who acts sus and all of a sudden you are scared of me blaming you huh? like fr

                • »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  »
                  5 weeks ago, hide # ^ |
                  Rev. 2  
                  Vote: I like it +5 Vote: I do not like it

                  wtf man, where the hell where have i even cheated??

                  you dont even have any proof and now just are screaming anything without any reason

                  you are blaming me for "practicing" literally your dumb ass didnt even bothered checking it this was submitted during a contest or not

                  "you are scared of me blaming you"

                  blaming for what lil bro, upsolving

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

                So, to solve all this. Let me admit, you are NOT a cheater.

                That was me being sus because I have come across cases like these, but this one was unique, I still am progressive. It's just that, I don't like cheaters alot, and I am a little subconscious, To make it clearer, I APOLOGISE. Hope we can have a healthier relationship in the near future.

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

use theme.cp site, and choose your level from level sheet and practice contests every day from there, their problems are very hard(even 800 ones).