Tuyển sinh 🎓 Mình nhận đào tạo lập trình giải thuật thi đấu: thi vào lớp 10 chuyên tin · thi học sinh giỏi tin học cấp tỉnh/thành · thi vào đội tuyển quốc gia · Olympic tin học sinh viên / ICPC · phỏng vấn thuật toán. Bấm vào đây để xem thông tin khóa học → Xem khóa học
Thi thử miễn phí
🏆 Thi thử HSG Tin học tuần này trên ClueOJ
Mở công khai cho mọi người · đề do thầy Nguyễn Việt Nam Sơn biên soạn
Lịch thi, đề cũ & lời giải →

Bài 3: William Lin (tmwilliamlin168) – Nhà vô địch IOI 600/600 và hiện tượng YouTube của lập trình thi đấu

Bài 3: William Lin (tmwilliamlin168) – Nhà vô địch IOI 600/600 và hiện tượng YouTube của lập trình thi đấu

William Lin – nick tmwilliamlin168 – là nhà vô địch tuyệt đối IOI 2020 với điểm tuyệt đối 600/600, và là người đưa lập trình thi đấu đến với hàng trăm nghìn người qua YouTube. Đây là câu chuyện về "thiên tài YouTuber" của thế hệ Gen Z.

William Lin (tmwilliamlin168) – huyền thoại lập trình thi đấu
🔗 Xem hồ sơ của William Lin trên các nền tảng thi đấu:

Bài thứ ba của chuyên mục Huyền thoại lập trình thi đấu. Nếu tourist là tượng đài, thì William Lin là người khiến nhiều bạn trẻ lần đầu biết đến lập trình thi đấu.

Vì sao William Lin đặc biệt?

William Lin không có bộ sưu tập danh hiệu dày đặc như tourist. Nhưng anh có hai điều hiếm ai có: một kỳ IOI hoàn hảo với 600/600 điểm, và một kênh YouTube biến những vòng thi khô khan thành nội dung hàng triệu người xem. Nhiều lập trình viên trẻ trên thế giới kể rằng họ bắt đầu học thuật toán sau khi xem video của anh.

Thông tinChi tiết
Họ tênWilliam Lin
Nicknametmwilliamlin168
Năm sinhKhoảng 2002 (báo Trung Quốc cho biết anh 18 tuổi vào tháng 10/2020)
Quốc tịchMỹ và Đài Loan; học trường quốc tế Mỹ tại Đài Bắc
Đại họcMIT (Viện Công nghệ Massachusetts), ngành Khoa học máy tính
Rating Codeforces cao nhất2931 – International Grandmaster
Công việc hiện nayTheo trang cá nhân, anh làm về hiệu năng và hệ thống cho học máy (ML)

Từ Scratch đến đội tuyển quốc gia

William bắt đầu lập trình với Scratch từ khoảng 12 tuổi, theo tờ QbitAI (Trung Quốc). Song song, anh cũng học tốt toán và từng đạt giải cao ở kỳ thi toán AMC. Anh học tại một trường quốc tế Mỹ ở Đài Bắc, và chính điều này dẫn tới một giai đoạn đầy sóng gió.

Tranh cãi khi chọn đội tuyển Đài Loan

Theo bài viết của chính anh trên Codeforces (khoảng 2017–2018), sau khi vượt qua kỳ thi quốc gia của Đài Loan, anh được dự trại huấn luyện nhưng bị cho biết không thể vào đội tuyển IOI, với lý do học sinh trường Mỹ không phù hợp mục tiêu thể hiện nền giáo dục Đài Loan. Những cập nhật sau đó của bài viết cho biết anh đứng đầu kỳ thi chọn đội nhưng vẫn không có tên. Cộng đồng Codeforces tranh luận sôi nổi về việc này có đúng quy chế IOI hay không.

Cuối cùng, nhờ có quốc tịch Mỹ, anh thi USACO và được chọn vào đội tuyển IOI của Mỹ năm 2019 và 2020. Cộng đồng đã đăng nhiều bài "William Lin orz" để chúc mừng.

Bảng thành tích

Giải đấuNămThành tích
IOI 2019 (Baku, Azerbaijan)2019Huy chương Bạc, hạng 56/327, đội Mỹ cùng Benjamin Qi
USACO Platinum tháng 22020Điểm tuyệt đối 1000/1000
USACO US Open Platinum2020Điểm tuyệt đối 1000/1000
Google Kick Start – Round A2020Hạng nhất, giải xong cả đề trong khoảng 16–17 phút
IOI 2020 (thi trực tuyến, Singapore đăng cai)2020HCV, hạng 1/343 với 600/600 điểm
Codeforces–Rating cao nhất 2931 (International Grandmaster), giải hơn 1.800 bài
CodeChef2017–20217 sao, rating cao nhất 2916

IOI 2020: kỳ thi hoàn hảo

IOI 2020 do Singapore đăng cai và tổ chức trực tuyến vì đại dịch, với hai ngày thi 16 và 19/9/2020. William là thí sinh duy nhất đạt điểm tuyệt đối 600/600, giành ngôi vô địch tuyệt đối trong số 343 thí sinh. Theo QbitAI, lần gần nhất trước đó có người đạt điểm tuyệt đối ở IOI là năm 2015. Anh cũng là người duy nhất giải trọn bài "Mushrooms" năm đó.

Một chi tiết thú vị: khoảng một tháng trước kỳ thi, anh đã dự đoán trên video rằng mình sẽ giành huy chương vàng – và làm được còn hơn thế.

So với IOI 2019, khi anh chỉ giành huy chương bạc với 360,2/600 điểm, đây là một cú nhảy vọt chỉ trong một năm.

Hiện tượng YouTube của lập trình thi đấu

Kênh YouTube tmwilliamlin168 ra đời từ khoảng 2015 nhưng gần như "ngủ đông" tới cuối 2019. Khi anh bắt đầu luyện Codeforces nghiêm túc, anh đăng gần 100 video liên tiếp: giải đề trực tiếp, vừa code vừa giải thích, có cả camera quay mặt.

  • Video nổi tiếng nhất: "Winning Google Kickstart Round A 2020 + Facecam" – quay lại toàn bộ vòng thi anh về nhất, giải xong đề trong khoảng 17 phút. Đến tháng 10/2020, video đã vượt 2,2 triệu lượt xem.
  • Phỏng vấn thử với Google: tháng 5/2020, anh tham gia buổi "phỏng vấn coding Google với một học sinh cấp 3" cùng YouTuber Clément Mihailescu, rất được quan tâm.
  • Lượng người theo dõi: khoảng 156 nghìn vào tháng 10/2020; theo một trang thống kê bên thứ ba, đến năm 2026 kênh có khoảng 415 nghìn người đăng ký và hơn 30 triệu lượt xem, dù đã ít đăng video mới.
  • Code mở: code của các video nằm trong kho GitHub CP-YouTube, còn kho CompetitiveProgramming của anh có hơn 500 sao.

Anh còn lập một máy chủ Discord cho cộng đồng luyện thi, phỏng vấn và olympiad – với quy định không khuyến khích thần tượng hóa bản thân anh.

Lộ trình học lập trình thi đấu theo William Lin

Trong một video được nhiều trang tóm tắt lại, anh chia việc học thành năm giai đoạn:

  1. Chuẩn bị nền tảng: tiếng Anh (để đọc đề), toán và tốc độ gõ phím.
  2. Chọn C++ làm ngôn ngữ thi đấu.
  3. Học kiến thức cơ bản và các cấu trúc dữ liệu.
  4. Luyện tập liên tục: giải thật nhiều bài, rồi tham gia thật nhiều kỳ thi.
  5. Chia sẻ những gì mình học được với người khác.

Bản thân anh làm đúng như vậy: từ tháng 1 đến tháng 8/2020, gần như cuối tuần nào anh cũng luyện LeetCode, có hôm giải hơn 10 bài, và làm lại những bài sai cho đến khi đúng. Tốc độ gõ phím của anh cũng rất "khủng": kỷ lục 144 từ/phút trên TypeRacer.

Cộng đồng nói gì về William Lin?

  • Nguồn cảm hứng: nhiều người viết blog kể rằng video Kick Start của anh là lý do họ bắt đầu học lập trình thi đấu.
  • Bàn phím "ồn ào": một đồng đội đội tuyển Mỹ từng trêu trên Codeforces rằng bàn phím của William kêu cực to.
  • Câu trả lời ngắn gọn nhất: khi có người hỏi làm sao "Lin" đạt 600 điểm IOI 2020, bình luận được ủng hộ nhiều nhất chỉ có một chữ: "ez".
  • Nghịch lý lập trình thi đấu: một blog công nghệ ở Pháp lấy anh làm ví dụ cho sự khác biệt giữa tốc độ giải đề và công việc kỹ sư phần mềm thực tế – điều chính William cũng hay tự trêu.

William Lin bây giờ

Sau khi vào MIT (theo hồ sơ GitHub, khóa 2024), William gần như không còn thi đấu: trên Codeforces, anh không giải bài nào trong một năm qua, còn hoạt động trên CodeChef dừng từ khoảng 2021. Theo trang cá nhân williamlin.io, anh hiện làm về hiệu năng và hệ thống cho học máy. Kênh YouTube vẫn còn đó như một kho tư liệu quý cho người mới học.

Bài học cho người học thuật toán

  1. Bắt đầu từ đâu cũng được: William khởi đầu bằng Scratch. Điều quan trọng là bắt đầu.
  2. Tiến bộ có thể rất nhanh: từ HCB IOI 2019 lên vô địch tuyệt đối IOI 2020 chỉ trong một năm – nhờ luyện tập đều đặn và có kế hoạch.
  3. Học bằng cách dạy: giải thích lời giải trên video buộc anh phải hiểu thật sâu. Hãy thử viết lời giải cho bạn bè hoặc blog của mình.
  4. Đừng bỏ qua kỹ năng "phụ": tiếng Anh, toán và tốc độ gõ phím giúp bạn tiết kiệm rất nhiều thời gian trong phòng thi.

Bạn đã từng xem video nào của William Lin chưa? Chia sẻ video bạn thích nhất trong phần bình luận nhé!

Nguồn tham khảo

Tự học thuật toán: khó ở đâu?
Đọc xong một bài giải là bước đầu. Phần lớn học sinh tự học sẽ gặp những trở ngại sau:
  • Không biết học gì trước, học gì sau, học lan man nên kiến thức bị hổng.
  • Bí bài không ai gỡ, ngồi cả buổi vẫn không ra rồi bỏ cuộc.
  • Code chạy được nhưng không đủ điểm, không biết sai ở đâu, chậm ở đâu.
  • Không có đề thi thử và người chấm, nên không biết mình đang ở mức nào.
  • Dễ nản giữa chừng khi không có ai theo sát.
Học cùng thầy Nam Sơn, các trở ngại đó được gỡ bỏ:
  • Lộ trình 111 buổi video sắp sẵn từ dòng code đầu tiên đến đề HSG thật của các tỉnh.
  • Thầy trực tiếp gỡ bí, chữa bài cho từng em qua nhóm Zalo riêng.
  • Hệ thống chấm bài tự động 24/7 và thi thử HSG hằng tuần để biết chính xác mình đang ở đâu.
  • Đóng học phí một lần, thầy kèm lâu dài: từ thi chuyên Tin đến HSG quốc gia và cả khi lên đại học.

Nhận xét