Doing a virtual every day for a month

Revision en10, by L_Drago_Destructor, 2023-04-07 18:10:24

Hello Codeforces! Because in April I have a lot of free time and I want to improve my CP skills, I will try doing a virtual every day for a month. I don't know if it's the best practice method but I'll still give it a shot. To keep myself motivated I'll update this blog once a week(?). Feel free to join along!

Starting Rating 758 Ending Rating: ?

Day 1: I did ARC 158 where I only solved A

Day 2: CF862 solved A,B quite fast. Unable to solve C with binary search on set(lowerbound). Performance : 1193

Day 3: CF861 (virtual) Solved A,B fast (trey were standard) but got 3WA. I tried C with backtracking but I realized it is too slow. Performance : 1315


Update 1:


Day 4: Today I did CF863 div 3. Like someone mentioned this contest felt like a div 2.25 (at least for me). I managed to solve A,B,C quickly (but still they were a bit tricky) and spent like 1:30 trying for D,E but with no progress. Performance : 1318, Almost reached pupil

Day 5: No contest today :(. I solved 1805C from 862_DIV2 (DAY 2). In the contest I was close : I proved that (b — k) ^ 2 should be < 0. But I didn't realized that we can use upper_bound to look for k since a,b,c are fixed. I enjoyed this problem, it has a nice solution.

Day 6: I tried D from same contest, but I needed to learn All longest path from CPH (competitive programmer handbook). I did that but still got TLE on 8 and I don't know the reason why. My solution seems O(N).

Day 7: I started solving problems from this blog :https://codeforces.com/blog/entry/114789

Solved:

1519D (1600) I didn't come up with the solution, but when I checked the editorial is was a trivial N^2 dp. Maybe if I spent more time before checking the editorial I could have solved it. Nevertheless a good problem for a beginner with dp.

1324D (1400): Solved using segment tree, probably a huge overkill and the code is not clean (but that is the first solution that came to my mind). I also got lots of WA because I didn't make the segment tree big enough (size).

1808C (1900): (C from Day 3) This problem was surprisingly unintuitive. I'll briefly explain my solution:

1) Eliminate the common prefix.

2) Iterate over the next 2 digits and set the rest of them equal with dg1 and after = dg2

3) Update the best answer that satisfies the constrains

This works because for each pair of digits we only care about the best answer. Since the first digit of a and b now is different we know which is true: either our number is surely < b or surely > a (we discard the other options) so now we can set the rest greedily equal with the max digit (that we set) if we know that x < b or the min digit otherwise.

Conclusion after a week: Don't expect big improvement after working only for a week.

Tags cp, virtual contests, a month

History

 
 
 
 
Revisions
 
 
  Rev. Lang. By When Δ Comment
en10 English L_Drago_Destructor 2023-04-07 18:10:24 3 Tiny change: 'problems for this blog' -> 'problems from this blog'
en9 English L_Drago_Destructor 2023-04-07 18:09:35 3 Tiny change: '900): (C for Day 3) Th' -> '900): (C from Day 3) Th'
en8 English L_Drago_Destructor 2023-04-07 18:09:16 14 Tiny change: 'C (1900): This prob' -> 'C (1900): (C for Day 3) This prob'
en7 English L_Drago_Destructor 2023-04-07 18:08:14 965 Tiny change: 't we know that either ou' -> 't we know which is true either ou'
en6 English L_Drago_Destructor 2023-04-07 12:19:23 35 Tiny change: ': 1315\n\nDay 4:' -> ': 1315\n\n-----\nUpdate 1\n-----\n\nDay 4:'
en5 English L_Drago_Destructor 2023-04-07 12:17:15 1120 Tiny change: 'y/114789\nSolved 1' -> 'y/114789\n\nSolved 1'
en4 English L_Drago_Destructor 2023-04-03 15:51:58 0 (published)
en3 English L_Drago_Destructor 2023-04-03 15:51:42 5 Tiny change: ') but got with 3WA. I tr' -> ') but got 3WA. I tr'
en2 English L_Drago_Destructor 2023-04-03 15:50:07 6
en1 English L_Drago_Destructor 2023-04-03 15:48:25 717 Initial revision (saved to drafts)