tahmidarefin's blog

By tahmidarefin, 6 months ago, In English

Greetings to all!

How far can a person go in Codeforces through only improving their problem-solving skills, intuition and these following concepts for practice?

  • C++ Basic Syntax (Variables, Operators, Conditional Statements, Loop, Function, Recursion, Basic Pointers, Class)
  • Basic Math (Number Set, GCD, LCM, Factorization, Number System Conversion, Equation Solving, Basic Combinatorics, Bitwise Operation & Basic Concepts)
  • Basic Operations like Insert/Delete/Travers of Linear Container (i.e. Array, Stack, Queue, Linked List etc.)
  • Basic Searching (Linear/Binary) & Sorting of Linear Container
  • Standard Template Library (Vector, Set, Map, Iterator)
  • Basic Graph & Tree Concepts (Definition Concept & Traversing -- DFS/BFS)

When I am saying the word 'Basic', it means the minimum level a person should learn to know about the topic, primarily.

and the more generalized question,

What are the minimum learning requirements for each level (Pupil, Specialist, ....) in Codeforces nowadays, if their practice, consistency, solving speed & other factors are optimal?

Full text and comments »

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

By tahmidarefin, 16 months ago, In English

Let me tell you about my 4.5+ years of CP journey so that you can give me proper guidance.

When I started my CP journey I enjoyed it so much. Day by day my interest in CP decreased because I was not enough consistent. Despite that, I carried on in CP with my inconsistency. Now I feel I've been nowhere at all. What should I do now? I regret that, if I was consistent, I would do well in CP. Another reason for my inconsistency is that I lose focus after a few minutes of practice problem-solving.

By the way, I want to make a fresh start to my journey. I have one more year to do CP with heart and soul. During my journey, I did not learn any intermediate DSA. I just know binary search, basic sorting algorithm and how basic DP, Graph, and Tree work (but have not implemented these topics much). Because I was struggling between Codeforces Div.2(B, C), Div.3(C, D), and Div.4(D, E), and even now. As these problems do not require any basic algorithm, I did not learn them.

Can you please review my profile? How can I improve in the proper manner? Most important, how can use my 1 year time optimally doing CP with a fresh start? I am not concerned with my rating. I just want to make the most progress in CP and problem-solving.

Please, don't tell me to leave CP. I have an interest in CP, that's why I've posted it. I am just depressed and want to make a fresh start.

Full text and comments »

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

By tahmidarefin, 3 years ago, In English

In the name of Allah(God), Most Gracious, Most Merciful.

My strategy to solve ad-hoc and observation based problems:

  1. Observe what is GIVEN
  2. Observe what to FIND or PROVE or both
  3. Find a GREEDY or BRUTEFORCE solution
  4. Test it for SMALLER cases
  5. Check CONSTRAINTS
  6. Observe the PATTERS and FORMULAS
  7. Make the solution OPTIMAL, if it is NOT
  8. PROVE the CORRECTNESS of the solution
  9. Check it for EDGE cases

I think if make a habit of following the strategy, inshaAllah(by the grace of almighty God), I will improve. I will appreciate any suggestion on my strategy.

Full text and comments »

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

By tahmidarefin, 4 years ago, In English

Here is my last post. But I could not state my problems in the blog. So, I post this one for getting some advice, suggestion and guideline.

How does one deal with mental fatigue when practicing Competitive Programming?

I am interested in Competitive Programming, but when practicing problems(even the easiest one) intensely after around one hour, my brain starts to get foggy and my mental condition drops to suboptimal levels.

I would wish to continue practicing, but these circumstances force me to take a break. How do people maintain concentration over long periods of time? Is this ability trainable or genetic? (Other than taking illegal drugs like Erdős.)

I know this is a soft question. But I really need to know, since Competitive Programming requires the most mental concentration.

P.S.: I don't know if I enjoy cp much. I enjoy improving through practice. If I see improvement in contest, it gives me pleasure. It is like an addiction to me, "improvement addiction".

Full text and comments »

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

By tahmidarefin, history, 4 years ago, In English

Knowing that "practice is the only secret recipe for improving" is painful and blessing at the same time. It is painful because I cannot practice properly to satisfy myself. It is a blessing because I am focusing on my inner self after many years. So, I am here to get some advice and help to figure out my problems.

Main Topic

I have doing competitive programming for the last two years. I could not improve much because of my lack of practice. I have been trying to practice since 2020, but I am facing problems consistently during my practice sessions. My problems are,

  • I cannot solve problems or think about problems after one and two hours of intense thinking, but I can spend time on one problem for an infinite amount of time. In another word, I can try or hold a problem for a long time(even months), but I cannot think or brainstorm more than an hour at once.
  • I am mentally tired during my training session most of the time. If I do it after waking up from sleep morning, I think very clearly. But after an hour or two hours, I cannot even think of any brainstorming work and I get fully distracted. It will take 7 or 8 hours to recover, and sometimes a day.

So, I believe, if I last at brainstorming for a large amount of time during a session, I can improve much. How can I increase mental strength to last many hours(7-8 hours together) of practice at one session?

Many thanks for your concern. If you have any suggestion, advice or solution, please let me know. I will be thankful to you.

Full text and comments »

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

By tahmidarefin, history, 4 years ago, In English

Hello, everyone. I need a suggestion about my decision for next 6 months. My decision is that I will read Mathematical problem solving book as much as possible, learn basic mathematical problem solving technique and do only implementation or classical programming problem(not any algorithmic problem). I think, it will increase my brain capability to learn and understand things easily. I took this decision because of my present condition. I wanted learn various medium level algorithm (e.g. graphs, string, number theory) but I couldn't catch the flow and mechanism of algorithm easily. Most significant problem is that I can't implement the algorithm for a medium level problem. I can only straight forward implementation of that the algorithm. So, is my decision is right? If I am taking wrong decision, what should I do for increasing my learning and understanding capability for algorithm. If you suggest me to practice more, I already said that I will also practice in next 6 months. Please, help to cope with this dilemma. I will be very grateful to all of you.

Full text and comments »

  • Vote: I like it
  • 0
  • Vote: I do not like it