Minimalist Forum Reader
Tình hình là sau 1 năm topic thảo luận - Leetcode contest, đường tới Guardian (https://voz.vn/t/leetcode-contest-%C4%91uong-toi-guardian.896868/) hoạt động, nhận thấy nhu cầu của anh em bắt đầu chuyển qua Codeforces để tập luyện và leo rank nên mình nhờ mod @Fire Of Heart đóng topic kia để anh em chuyển qua topic này bàn luận việc làm contests của codeforces và Leetcode hàng tuần.
1) Why Leetcode: Leetcode là 1 nền tảng rất hay cho beginners để học về DSA và đi phỏng vấn.

2) Why Codeforces: Sau khi làm gần 1k7 câu Leetcode, mình nhận ra rằng trình độ của mình cải thiện khá ít khi tập luyện ở Leetcode nên việc chuyển qua Codeforces để tập luyện leo rank là điều cần thiết, câu hỏi bên Codeforces đa dạng hơn, chia theo rating rõ ràng để anh em up solve. Nhưng mình khuyên là newbie thì nên tập trung leo lên tới tầm 2k rating Leetcode rồi mới chuyển qua Codeforces.

3) Leetcode contest là gì: Leetcode contest là nơi đấm nhau của các anh tài, mỗi tuần sẽ có 1 cuộc thi Weekly, 2 tuần 1 lần sẽ có 1 cuộc thi BiWeekly. Nếu tham gia cả 2 cuộc thi sẽ được 35 points cho anh em đổi áo. Mỗi cuộc thi kéo dài 1 tiếng rưỡi và có 4 câu, thường 4 câu sẽ có độ khó là easy, medium, medium, hard.

4) Tại sao phải tham gia Leetcode contest: Đề của Leetcode contest thường sẽ là những bài toán mới chưa có lời giải, ko search được trên google. Đề thi rất hay và đa dạng. Quan trọng là chỉ có 90ph để làm 4 bài, nếu mà giải được 3 hoặc 4 bài trong khoảng thời gian thì việc phỏng vấn pass vòng algorithm vào big techs là không khó.

5) Codeforces contest là gì: Cũng như Leetcode contest, Codeforces thường tổ chức contest hàng tuần và thường sẽ chia ra làm 4 div, div1 div2 div3 div 4, thời gian thì hình như ko cụ thể. Div 1 hầu hết chỉ dành cho các anh tài tầm rating Master đổ lên, nên mình ko nghĩ anh em cần học tới level này làm gì nếu ko có mục tiêu đi thi giải thưởng quốc gia quốc tế. Rating bên Codeforces thì chỉ cần lên được expert mình nghĩ đã dư sức đi phỏng vấn ở các cty top1 tier trên thế giới rồi. Còn div2 div3 div4 thì độ khó sẽ giảm dần, newbie thì nên tham gia div4.

6) Tại sao phải tham gia Codeforces contest: Tham gia tay to hơn, lấy rating để có thể ha oai với Vozliz, ở topic kia thì có bác @nahnahinin hình như là rank Tím Codeforces qua Leetcode contest lùa gà lừa lấy rating anh em hết =((

7) Mục tiêu năm mới: Làm gì cũng phải kiên trì và có mục tiêu, năm nay đặt mục tiêu 2k5+ Leetcode và 1k7 Codeforces, còn mục tiêu của topic là anh em tham gia ko còn ai phải làm Vozliz và đi interview pass vòng DSA dễ như ăn kẹo :ah:

Chốt: Kiên trì thì dần dần sẽ cải thiện, chúc anh em làm contest đều tay lấy rating của mình trong năm mới :ah:

8) Tip cho anh em leo rank dưới Guardian Leetcode, đúc kết từ kinh nghiệm ko giải được easy của mình từ 1 năm trước đây.
  • Tập trung giải quyết 3 câu đầu tiên 1 cách nhanh nhất, bỏ câu 4 nếu rank còn thấp.
  • Sau mỗi contest thì phải review lại những câu hỏi ko làm được và tìm cách optimal hơn cho nhiều câu hỏi đã làm được bằng nhiều cách khác nhau. Việc này sẽ giúp các fence phân tích được và có nhiều cách giải hơn ở những contest sau.
  • Rút kinh nghiệm những lỗi đã mắc phải để cải thiện contest sau.
  • Never give up, còn thở là còn gỡ, người ko chơi là người ko thắng :doubt:, còn nghỉ chơi thì chỉ mãi dừng ở 1 mức rank cùi bắp lên Voz phải chịu bị sỉ nhục.
  • Hôm nào làm contest tệ thì phải bị punishment bằng việc giải hơn 20 câu Medium ở tuần sau đó.
  • Ngủ và nghỉ ngơi đầy đủ mỗi lần chuẩn bị thi contest, việc ngủ nghỉ đầy đủ thì lúc thi sẽ thường cho kết quả đúng nhất, những hôm mình mất ngủ là kiểu gì cũng 1Q Gang.
-------------

1 số tip cho anh em dùng Codeforces với Python:​

1) Python khá hạn chế dùng recursion vì chậm và run time error ở codeforces.
Python:
from types import GeneratorType
def bootstrap(f, stack=[]):
    def wrappedfunc(*args, **kwargs):
        if stack:
            return f(*args, **kwargs)
        else:
            to = f(*args, **kwargs)
            while True:
                if type(to) is GeneratorType:
                    stack.append(to)
                    to = next(to)
                else:
                    stack.pop()
                    if not stack:
                        break
                    to = stack[-1].send(to)
            return to
    return wrappedfunc
Python:
 @bootstrap
// Luu y dung ham yield de tra ve recursion result
    def dfs(current, parent):
        minNeighbor = inf
        for neigbor in graph[current]:
            if neigbor != parent:
                result = yield dfs(neigbor, current)
                minNeighbor = min(result, minNeighbor)

        if vals[current] > minNeighbor:
            yield minNeighbor

        elif minNeighbor == inf:
            yield vals[current]
        else:
            yield (vals[current] + minNeighbor)//2

2) Không dùng được lib bên ngoài như sortedlist, nên phải manually copy template vào code của mình, có các template
Reactions: thugiang1, blacksnow2919311, roll_witit and 15 others
Ké thớt. Mục tiêu Leetcode 2k năm tới, ko được chặt c*** ông thớt :doubt:
Reactions: astery240105 and freedom.9
kH9BFd2.gif
kH9BFd2.gif
kH9BFd2.gif
Reactions: freedom.9
target 2025: Guardian Badge 😄
Reactions: freedom.9
Thu hút được mấy anh tài Codeforces vào đây thì thread sẽ chất lượng hơn hẳn, vì toàn dân CP, luyện để thi đấu.
Reactions: freedom.9
:sweat::sweat::sweat:

via theNEXTvoz for iPhone
Reactions: freedom.9
:surrender:Chui vào đọc thấy nhột cực kì
Reactions: freedom.9
vì tuần này lỡ làm biweekly nên ráng làm thêm weekly lấy 35 coin :pudency:
Reactions: chest_men
Hoàn thành bước đầu tiên, registered Codeforces :D
Reactions: ntasports
Ngồi luyện mấy cái này thời gian đâu đi chơi với các em gái, ông thớt cũng toàn gái gú mà
Reactions: ntasports
nay choke vl làm 50p mới xong q2 :surrender:
1734837830271.png

Lần đầu e được trong top 100 :D
Reactions: Ezzra Bridger, hieunm3538, freedom.9 and 2 others
View attachment 2842419
Lần đầu e được trong top 100 :D
tham gia 11 cái contest rating 2k1 :amazed: chuẩn bị 2k2 lên bảo vệ
7JO4RkJ.png
smurf ác, bác này chắc cũng đi thi olympic quốc gia


Q3 Q4 ko có ý tưởng gì thôi nghỉ
qua nay đều dễ, có qua câu 7đ thì (hơi) khó
Reactions: freedom.9 and LmaoSuVuong
qua nay đều dễ, có qua câu 7đ thì khó
1734838524200.png

osCpCsi.png
q3 thế này mà kêu dễ à
V092S5K.gif
lùa ae chơi contest bào rating là giỏi
Reactions: space dust
View attachment 2842440
osCpCsi.png
q3 thế này mà kêu dễ à
V092S5K.gif
lùa ae chơi contest bào rating là giỏi
dễ thật, mà tốn 1 sub mới nhìn ra cái vấn đề bài này là len=1, len khác thì dễ
bác trên kia sub phát ăn ngay thì pro thật
k biết rank 4k nó trừ bao nhiêu đây, các bác đấm câu 3, 4 pro thật :love:
1734838838007.png
Thôi 1Q gang cmnr, câu 3 sao mình đọc đề éo hiểu gì cả nhỉ. Đêm nay ngáo quá lại choke luôn câu 2 rồi
Dạo này phong độ phập phù vãi, ảo thật.
Cứ gặp câu 2 là choke
Thôi 1Q gang cmnr, câu 3 sao mình đọc đề éo hiểu gì cả nhỉ. Đêm nay ngáo quá lại choke luôn câu 2 rồi
e đọc đề hiểu nhưng k nghĩ ra cách làm thôi :D