IanISam's blog

By IanISam, history, 4 months ago, In English

Last div 2 problem D is quite difficult to implement. My solve after contest was over 150 lines submission:192414856 and in-contest I struggled to find an efficient way to implement the problem. Also recently, as I’m solving harder problems, the problems become more tedious and difficult to implement. To the point where I cannot reasonable be able to solve them in-contest(maybe I just type slow~60wpm for programming~100wpm normally). One problem is that I’m writing lots of similar code(but not similar enough) where I can’t find an efficient way to come up with an algorithm for all the copy and pasting. In the case of the problem mentioned previously, it’s very inefficient to write all possible pairs with w i and n. And if there are more characters, I would not be able to solve the problem practically. Sometimes as well, I’m not sure if there exists a data structure or method for a specific purpose. For example, E on last div 2 contest could be solved if I have a data structure with o(1) insertion and o(1) replacement(as well as being indexed). So I have three major questions:

  1. Are there any data structures that I’m unaware of? I know ArrayLists(Java), arrays, stacks, priority queues and queues, as well as ordered and unordered maps and sets. I am also moderately aware of the functions of the LinkedList but I find very little usage with it.

  2. Smart methods for handling strings, pairs, other misc data types. I am aware of StringBuilder.

  3. How to maps solutions into code efficiently. I do read other people’s solutions but I usually don’t understand them very well. I understand that it comes down to practice(I solve a lot of problems across multiple platforms), but many times I find my solutions very impractical to implement.

Ex: https://codeforces.com/contest/1741/problem/F

Solve idea

Thank you all for sparing time out of your day for reading this post, hopefully I’m not the only person who has this problem since you are all speed gods.

Full text and comments »

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

By IanISam, history, 5 months ago, In English

Didn’t know I was doing codeforces since 1970. It seems like it’s happening to everyone who got their peak rating on the last Divide by Zero div 2 contest.

Full text and comments »

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

By IanISam, history, 9 months ago, In English

It's been 6 months since I've registered for codeforces and I've decided to continue updating my progress! Big thanks to SecondThread for the support shown in my first blog.

Overall Changes

154 problems solved(+~134 problems), 1154 rating(from unrated), Switched from python to Java (learning AP Computer Science A)! I've also done ~80 problems on usaco guide and usaco and participated in 40 cf contests(rated and unrated), I try to participate in every contest I could attend. Generally the style of codeforces problems appealed more to me than other competitive programing sites.

Although I haven't gotten much better at solving harder problems, I've become much better at implementing algorithms. Still have a long way to go from here.

Week 2-6

Best solve: 151053765

First time solving C and D in a diff 2 contest(upsolving)(and also haven't been able to do this since). Got very lucky with figuring out the quirks of the problem to solve it. I would later optimized it with bitwise operations(a tool I have found very useful if applicable).

Week 7-13

I started learning java in this period as I would be taking CSA(a java based course) and would primarily use java as my preferred programming language to use.

Optimization of K-good: 161132623 Fastest and shortest Python solve by far!!

Week 14-20...

I got much better at java during this period and would also start learning algorithms and data structures. Mostly from USACO guide and the CPH handbook. If anyone reading has good recommendations on ways to learn new algorithms and practice them please let me know!! It would be greatly appreciated.

Best solve: 166748618 great use of prefix sums!

Week 20-24

Best solve: 170912577 It seems there is a significantly faster way to solve for it although I still haven't figured out exactly how. Code is also a bit messy

Notable solves: 171154759 great observations, 170907292 great optimizations

I will try to continue posting weekly, although I have found myself to be quite busy. Thank you all for reading my blog!

Full text and comments »

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

By IanISam, history, 15 months ago, In English

Week 1

Best solve:149890262, huge optimization later: 149968434

  • Notable optimized solves: 149194252 Tied best time, although very easy problem.

Full text and comments »

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