diff --git a/articles/dp_broken_pf.md b/articles/dp_broken_pf.md index 93cd05d..77464e3 100644 --- a/articles/dp_broken_pf.md +++ b/articles/dp_broken_pf.md @@ -20,7 +20,7 @@ DP Broken Profile là một dạng đặc biệt của dạng toán DP Bitmask n Bài tập sử dụng DP Broken Profile thường rất khó nên việc hiểu biết những hướng làm, những ưu và nhược điểm của từng hướng sẽ là chìa khóa giữa việc $AC$ bài đó hay không. -## [Bài toán 1: Counting Tilings](https://cses.fi/problemset/task/2181) +## [CSES - Counting Tilings](https://cses.fi/problemset/task/2181) * Cho một bảng $N \times M$ , hãy tìm số lượng cách lắp đầy bảng bằng cách đặt các viên domino có kích thước $1 \times 2$ hoặc $2 \times 1$ không giao nhau. * $N\le 10,M \le 1000$ @@ -264,7 +264,7 @@ Nếu ta xét thời gian chạy của cả $4$ thuật toán cho bài trên th | $O(N\cdot M\cdot 2^N+M\cdot (1+\phi)^N)$ | $0.14s$ | Sử dụng đệ quy nhưng vẫn nhanh hơn hướng làm $O(M*3^N)$. Nó nhanh hơn là do số lượng trường hợp phải xét giảm thiểu đáng kể với việc nhận lại hằng số từ đệ quy. Bộ nhớ sử dụng cũng kha khá.| | $O(N\cdot M\cdot 2^N)$ | $0.09s$ | Nhanh nhất và bộ nhớ dùng tương đối ít cũng như có hằng số khá thấp. Có thể tối ưu bộ nhớ và từ đó thời gian chạy hơn nữa những việc đó không cần thiết. | -## [Bài toán 2: Domino](https://oj.vnoi.info/problem/bananabread_domino) +## [VNOJ - Domino](https://oj.vnoi.info/problem/bananabread_domino) * Cho một bảng $A$ có kích thước $N \times M$, mỗi ô có một giá trị nguyên. Hãy tìm cách đặt đúng $k$ domino $2\times 1$ không chồng nhau để tổng các giá trị trên các ô được phủ là đạt giá trị cực đại. - $N\le 4,M\le 1000,K\le \frac{N\cdot M}{2}$ - Subtask: diff --git a/articles/vnoi-2023.md b/articles/vnoi-2023.md index 4733f6d..2c17ef2 100644 --- a/articles/vnoi-2023.md +++ b/articles/vnoi-2023.md @@ -55,13 +55,13 @@ Sau một thời gian dài vắng bóng, trong năm vừa qua, dự án đã qua ### External Setters +![VNOJ Round 01 - kỳ thi đầu tiên được tổ chức bởi các thành viên trong cộng đồng](../assets/vnoi-2023/image4.jpg) + Đây là một dự án tổ chức các kỳ thi chính thức (tính rating) trên VNOJ bên cạnh Bedao Contest, trong đó các bài tập sẽ do cộng đồng đóng góp hoặc Ban ra đề sẽ là các thành viên trong cộng đồng VNOI và có tài khoản trên hệ thống VNOJ. Ngày 28/01/2024, VNOJ Round 01 đã được tổ chức; đánh dấu bước phát triển của dự án External Setters. -![VNOJ Round 01 - kỳ thi đầu tiên được tổ chức bởi các thành viên trong cộng đồng](../assets/vnoi-2023/image4.jpg) - ![Bảng xếp hạng kỳ thi VNOJ Round 01](../assets/vnoi-2023/image7.png) Có thể nói sự hưởng ứng, tham gia của hơn 600 thí sinh chính là “quả ngọt” của Ban ra đề, cũng là thành công bước đầu của dự án. Đây cũng chính là động lực để dự án External Setter tiếp tục được thực hiện, hứa hẹn sẽ có nhiều VNOJ Round hơn nữa. @@ -102,20 +102,21 @@ Bên cạnh đó là dự án Educational Contests nhằm tạo nên môi trư ![Các kỳ thi thuộc dự án Educational Contests](../assets/vnoi-2023/image8.png) ### Tình nguyện viên tại VNOI -Để duy trì các dự án phục vụ cộng đồng, VNOI rất cần sự giúp đỡ của các bạn Tình nguyện viên trong mọi khía cạnh: Chuyên môn, kỹ thuật, truyền thông, ...Trong năm 2023, VNOI đã kết thúc và cấp giấy chứng nhận cho các bạn Tình nguyện viên thế hệ thứ 2, đồng thời chiêu mộ các bạn Tình nguyện viên thế hệ thứ 3. -Nhằm gắn kết tình cảm giữa Tình nguyện viên với nhau và với Câu lạc bộ, các hoạt động giao lưu trực tuyến được VNOI tổ chức thường xuyên. Hoạt động giao lưu trực tiếp cũng được tổ chức vào một số dịp đặc biệt tại hai thành phố lớn là Hà Nội và Thành phố Hồ Chí Minh. +Để duy trì các dự án phục vụ cộng đồng, VNOI rất cần sự giúp đỡ của các bạn Tình nguyện viên trong mọi khía cạnh: Chuyên môn, kỹ thuật, truyền thông, ...Trong năm 2023, VNOI đã kết thúc và cấp giấy chứng nhận cho các bạn Tình nguyện viên thế hệ thứ 2, đồng thời chiêu mộ các bạn Tình nguyện viên thế hệ thứ 3. -![VNOI tổ chức giao lưu Tình nguyện viên tại Thành phố Hồ Chí Minh](../assets/vnoi-2023/image12.jpg) +Nhằm gắn kết tình cảm giữa Tình nguyện viên với nhau và với Câu lạc bộ, các hoạt động giao lưu trực tuyến được VNOI tổ chức thường xuyên. Hoạt động giao lưu trực tiếp cũng được tổ chức vào một số dịp đặc biệt tại hai thành phố lớn là Hà Nội và Thành phố Hồ Chí Minh. ![VNOI tổ chức giao lưu Tình nguyện viên tại Hà Nội](../assets/vnoi-2023/image10.jpg) Bên cạnh đó, VNOI thường xuyên tổ chức các buổi talkshow cho các bạn tình nguyện viên tham gia và tương tác các khách mời có tầm ảnh hưởng lớn trong giới lập trình nói riêng và ngành CNTT nói chung như Lê Yên Thanh (CEO Phenikaa MaaS), Nguyễn Thành Trung (tác giả của các bài viết Code cùng RR), Lê Xuân Mạnh (CTO Kyber Network), Lê Đôn Khuê (Technical Lead tại Be), …. Ngoài ra, các bạn tình nguyện viên còn có cơ hội kết nối và trao đổi riêng với các khách mời đặc biệt này. +![VNOI tổ chức giao lưu Tình nguyện viên tại Thành phố Hồ Chí Minh](../assets/vnoi-2023/image12.jpg) + VNOI cũng chú trọng đến những phần thưởng cho những bạn tình nguyện viên đã có một kỳ làm việc đầy nỗ lực. Chính vì thế, trong năm vừa qua VNOI đã phát hành nhiều merchandise độc quyền như dây đeo, áo, móc khóa, sticker, bao lì xì, … được trao tận tay đến các bạn tình nguyện viên nhân dịp trước Tết. Những hoạt động của VNOI đều có dấu ấn đậm nét đến từ các bạn tình nguyện viên đều đã và đang âm thầm đóng góp chung cho nền Tin học nước nhà. Những dự án của VNOI sẽ không thành công nếu không có sự giúp sức và ủng hộ đến từ các bạn. VNOI hy vọng rằng tinh thần của Tình nguyện viên VNOI vẫn sẽ duy trì trong những năm tiếp theo. -![Những món quà đặc biệt dành cho những bạn tình nguyện viên xuất sắc đến từ VNOI](../assets/vnoi-2023/image11.png) +![Những món quà đặc biệt đến từ VNOI dành cho những bạn tình nguyện viên xuất sắc](../assets/vnoi-2023/image11.png) diff --git a/articles/vnoi-cup.md b/articles/vnoi-cup.md index 5fd32d2..a3f13d0 100644 --- a/articles/vnoi-cup.md +++ b/articles/vnoi-cup.md @@ -58,8 +58,11 @@ Vòng Chung kết đã diễn ra cực kỳ gay cấn và cực kỳ quyết li - Lê Hoàng Nam (Trường THPT Chuyên Sư Phạm, Hà Nội) - giành cup Bạc VNOI Cup 2023, cùng với phần thưởng trị giá 15 triệu VNĐ. - Lê Ngọc Bảo Anh (Trường THPT Chuyên Lê Quý Đôn, Đà Nẵng) - giành cup Đồng VNOI Cup 2023, cùng với phần thưởng trị giá 10 triệu VNĐ. -![Bảng xếp hạng chính thức của VNOI CUP 2023](../assets/vnoi-cup/image5.png) +![Bảng xếp hạng chính thức của chung kết VNOI CUP 2023](../assets/vnoi-cup/image5.png) -Có thể nói, VNOI Cup 2023 quy tụ đông đảo các thí sinh với profile rất “khủng” ở nhiều thế hệ khác nhau, từ những đàn anh kỳ cựu nhưng vẫn còn rất nhiều nhiệt huyết đối với lập trình thi đấu, đến những bạn trẻ là những trụ cột tương lai của nền tin học nước nhà. Đây chính là dịp để thế hệ coder trẻ có thể giao lưu, cọ xát và học hỏi kinh nghiệm quý báu từ những tiền bối đi trước, những coder đã có kinh nghiệm dày dặn trong mảng lập trình thi đấu lẫn lĩnh vực công nghệ. Như vậy, VNOI Cup 2023 đã trôi qua và để lại nhiều dấu ấn khó quên, cùng nhau hẹn gặp lại tại VNOI Cup 2024 thật sôi động, bùng cháy và kịch tính hơn nhé! +Có thể nói, VNOI Cup 2023 quy tụ đông đảo các thí sinh với profile rất “khủng” ở nhiều thế hệ khác nhau, từ những đàn anh kỳ cựu nhưng vẫn còn rất nhiều nhiệt huyết đối với lập trình thi đấu, đến những bạn trẻ là những trụ cột tương lai của nền tin học nước nhà. ![Ban tổ chức và thí sinh tham dự Chung kết VNOI CUP 2023](../assets/vnoi-cup/image7.jpg) + +Đây chính là dịp để thế hệ coder trẻ có thể giao lưu, cọ xát và học hỏi kinh nghiệm quý báu từ những tiền bối đi trước, những coder đã có kinh nghiệm dày dặn trong mảng lập trình thi đấu lẫn lĩnh vực công nghệ. Như vậy, VNOI Cup 2023 đã trôi qua và để lại nhiều dấu ấn khó quên, cùng nhau hẹn gặp lại tại VNOI Cup 2024 thật sôi động, bùng cháy và kịch tính hơn nhé! + diff --git a/interviews/2024-dang-doan-duc-trung.md b/interviews/2024-dang-doan-duc-trung.md index 3fa8e09..9ab9046 100644 --- a/interviews/2024-dang-doan-duc-trung.md +++ b/interviews/2024-dang-doan-duc-trung.md @@ -10,7 +10,7 @@ meta: ### Bạn có xuất phát điểm cấp 2 là học sinh chuyên Toán, sau đó lên cấp 3 bạn học ở trường Phổ Thông Năng Khiếu. Nổi bật nhất bạn đã từng tham gia Entropy (kì thi ‘Đường lên đỉnh Olympia’ của trường PTNK), lý do gì đã chuyển bạn từ Toán sang Tin, mà lại không chuyển từ Toán sang một con đường thú vị không kém - thi Olympia? -![](../assets/interviews/2024-dang-doan-duc-trung/image4.jpg) +![](../assets/interviews/2024-dang-doan-duc-trung/image4.jpg?width=8cm) Lý do mình chuyển từ Toán sang Tin với mình không thi Olympia là hai cái...hoàn toàn khác nhau. Việc mình quyết định rẽ hướng sang Tin là do sau cấp 2 mình dần mất hứng thú với việc làm Toán Chuyên, cũng vì hồi đó mình kém hình lắm. Đến bây giờ khi sang Mỹ mình cũng vẫn kém hình (cười). Còn việc mình không thi Olympia thì do lúc mình thi Entropy cũng là trong giai đoạn thi vào đội tuyển Tin của trường, thế nên sau khi thi xong Entropy thầy Hùng (Nguyễn Thanh Hùng - đồng tác giả bộ sách giáo khoa Chuyên Tin) có đùa mình là may rằng mình không thắng Entropy, chứ không thi Olympia mất rồi’, cũng từ đó mình không thi Olympia luôn. Tuy có tiếc nuối khi ước mơ từ nhỏ của mình là được đứng ở cầu truyền hình một lần, nhưng nhờ đó mình mới có trải nghiệm như thi HSGQG, TST. Từ một góc nhìn khác thì nó vẫn tốt. @@ -79,13 +79,13 @@ Mình cảm thấy may mắn khi hòa nhập được văn hóa ở Mỹ. Lúc ### Kuroni đạt được rank 17 ICPC World Finals 2022, một rank cao ở một kỳ thi đẳng cấp. Vậy quá trình luyện tập của bạn cho kỳ thi này là như thế nào? -Năm đầu tiên ở trên đại học của mình là khoảng cỡ 2020 thì mình đang hướng tới ICPC World Finals ở Nga, mình đã luyện tập rất nhiều, hơn cả lúc mình học cấp 3. Một phần vì mình khá cay do trượt đội IOI, có một khoảng thời gian cỡ 3-4 tháng liên tiếp mà mỗi ngày mình sẽ chọn ra 1 bài độ khó 2700 bất kỳ trên Codeforces và cố gắng giải nó trong 3-4 tiếng, có một số ngày đỉnh điểm mình giải đến 2-3 bài 2700 cơ. Ngoài ra mình còn luyện riêng với đội ICPC nữa, thường thì bọn mình sẽ chọn ra một bộ đề Regional ngẫu nhiên và mỗi một tuần lại làm với nhau 1 lần, mỗi lần như thế sẽ dành ra 5 tiếng để làm và 2-3 tiếng để thảo luận về lời giải cũng như chiến thuật sau khi làm xong. Không biết may hay rủi nhưng Monogon là một số ít trong những bạn mình biết như Bùi Hồng Đức (IOI 2019, 2020) rất thích code những bài hình, nên là đợt đó mình gần như không quan tâm đến việc code những bài hình mà cứ quăng hết cho Monogon. +![](../assets/interviews/2024-dang-doan-duc-trung/image8.jpg?width=8cm) -![](../assets/interviews/2024-dang-doan-duc-trung/image8.jpg) +Năm đầu tiên ở trên đại học của mình là khoảng cỡ 2020 thì mình đang hướng tới ICPC World Finals ở Nga, mình đã luyện tập rất nhiều, hơn cả lúc mình học cấp 3. Một phần vì mình khá cay do trượt đội IOI, có một khoảng thời gian cỡ 3-4 tháng liên tiếp mà mỗi ngày mình sẽ chọn ra 1 bài độ khó 2700 bất kỳ trên Codeforces và cố gắng giải nó trong 3-4 tiếng, có một số ngày đỉnh điểm mình giải đến 2-3 bài 2700 cơ. Ngoài ra mình còn luyện riêng với đội ICPC nữa, thường thì bọn mình sẽ chọn ra một bộ đề Regional ngẫu nhiên và mỗi một tuần lại làm với nhau 1 lần, mỗi lần như thế sẽ dành ra 5 tiếng để làm và 2-3 tiếng để thảo luận về lời giải cũng như chiến thuật sau khi làm xong. Không biết may hay rủi nhưng Monogon là một số ít trong những bạn mình biết như Bùi Hồng Đức (IOI 2019, 2020) rất thích code những bài hình, nên là đợt đó mình gần như không quan tâm đến việc code những bài hình mà cứ quăng hết cho Monogon. Sang quãng thời gian 2020 - 2021 và 2021 - 2022 thì là một khoảng trầm không chỉ trong hành trình CP của mình mà trong cuộc đời mình luôn. Hai năm đó cũng là hai năm cao điểm nhất của dịch Covid 19, tinh thần mình khá bất ổn và nếu các bạn để ý trên Codeforces thì mình có một khoảng nghĩ hơn 1 năm rưỡi đến 2 năm mà không có hoạt động nào nhiều trên Codeforces như trước. Mình nhớ một bạn đăng blog trên Codeforces hỏi tại sao mình lại ngưng hoạt động trên Codeforces lâu như thế, blog viết cũng dài và lượt upvote cũng cao, nhờ đợt này mới biết mình nổi tiếng trong cộng đồng đến thế. -![](../assets/interviews/2024-dang-doan-duc-trung/image5.jpg) +![](../assets/interviews/2024-dang-doan-duc-trung/image5.jpg?width=8cm) Đến giữa năm 2022 thì có vẻ Covid tốt hơn dần nên mình ra ngoài và giao lưu với bạn bè nhiều hơn, đợt đấy mình có gặp bạn ToMo ở Purdue (Nguyễn Thành Minh - hai lần tham gia APIO 2018, 2019) - một người ôn TST chung với mình. Sau này mình với bạn ý ở chung ký túc xá luôn, trong quãng thời gian này mình đã tìm lại cảm hứng với CP, lâu lâu ăn tối thì bạn ý lôi bài trên Codeforces ra và thảo luận với mình, các chủ đề bọn mình thảo luận nhiều khi không chỉ CP mà còn là toán nữa, ToMo cứ nói ra 1 tràng toán xong mình ngồi nghe. @@ -117,14 +117,14 @@ Có thể đối với nhiều người thì việc WF 2023 bị dời là một Đây cũng là mục tiêu của mình trong năm 2023 nhưng nó đã không thực hiện được dù hai contest cuối của năm 2023 được cộng điểm. Hiện tại, mình kết hợp làm bài trên nhiều OJ khác, điển hình là mình đang làm lại các dạng bài OI để nâng cao khả năng nghĩ của mình ở trong giờ thi tiếp, mình có mong muốn là được LGM, nhưng trước hay sau WF thì mình không dám chắc. Mình có thể tiết lộ là ở NAC (kỳ thi ICPC Regional ở Bắc Mỹ) mình đã gặp tourist (max rating CF 3979). Mình nói chuyện với tourist thì tourist chia sẻ rằng nếu mình đặt mục tiêu LGM thì sau khi đạt được sẽ không có ý chí để luyện tập nữa. Mình đang phân vân là không biết nên đặt mục tiêu LGM trước hay sau World Finals, nhưng mà mình sẽ nhắm có kỹ năng của LGM trước World Finals. -![](../assets/interviews/2024-dang-doan-duc-trung/image13.jpg) +![](../assets/interviews/2024-dang-doan-duc-trung/image13.jpg?width=8.5cm) -*World Finals được dời tầm khoảng tháng 4, tức bạn còn khoảng 3 tháng để chuẩn bị. Tất cả mọi người đề rất mong được chứng kiến Kuroni tỏa sáng ở WF lần này. Từ câu chuyện của Kuroni ta có thể thấy rất nhiều sự luyện tập và tính toán chiến thuật để đạt được đến đẳng cấp của bạn Kuroni và đồng hành với đó là còn là sự đam mê để có thể duy trì ở cấp độ như vậy. Nếu xét ở khía cạnh CP thì bạn Kuroni rất là khủng, tuy nhiên, cái điểm khác biệt giữa bạn Kuroni so với nhiều người khủng CP mình biết là bạn có thể khủng về những thứ khác, cụ thể là nghiên cứu. Có rất nhiều người khủng CP nhưng họ ngại bước ra vùng an toàn của mình và họ chỉ tập trung vào CP. Tuy nhiên CP giỏi thì tốt nhưng không thể xem đấy là công việc được trừ khi bạn là tourist.* +*World Finals được dời tầm khoảng tháng 4, tức bạn còn khoảng 3 tháng để chuẩn bị. Tất cả mọi người đề rất mong được chứng kiến Kuroni tỏa sáng ở WF lần này. Từ câu chuyện của Kuroni ta có thể thấy rất nhiều sự luyện tập, tính toán chiến thuật và sự đam mê để đạt được đến đẳng cấp của bạn Kuroni. Nếu xét ở khía cạnh CP thì bạn Kuroni rất khủng, tuy nhiên, cái điểm khác biệt giữa bạn Kuroni so với nhiều người khủng CP mình biết là bạn có thể khủng về những thứ khác, cụ thể là nghiên cứu. Có rất nhiều người ngại bước ra vùng an toàn và họ chỉ tập trung vào CP. Tuy nhiên CP giỏi thì tốt nhưng không thể xem đấy là công việc được trừ khi bạn là tourist.* ### Bạn có thể chia sẻ quá trình học đại học của khi đến cuối lại quyết định đi nghiên cứu, dù trước đó đã có thực tập ở Meta không? -![](../assets/interviews/2024-dang-doan-duc-trung/image6.jpg) +![](../assets/interviews/2024-dang-doan-duc-trung/image6.jpg?width=8.5cm) Một phần do duyên, một phần do giai đoạn nổi loạn của mình đã đề cập trước đó, nhưng không liên quan đến vấn đề ở với gia đình mà ở đây liên quan đến Software Engineering. Khi mình học năm 2 thì mình có học một lớp ‘Thiết kế thuật toán’ ở trường Purdue, mình có gặp thầy Alex Psomas do đang là năm Covid nên mình cũng không đến lớp hay nghe giảng online và mình chỉ nhớ lớp đó mình qua rất dễ, mình chỉ cần vào làm bài tập về nhà thi thôi là được A+. Lớp đấy cũng không có quá nhiều ký ức với mình, nhưng cái kí ức mà mình ấn tượng là sau khi được A+ lớp đấy thì thầy đã trực tiếp liên lạc với mình và hỏi mời mình học lớp của thầy là lớp ‘Thuật toán trong kinh tế’. Tất nhiên lúc đấy mình năm 2, việc được một giáo sư của 1 trường rất to mời mình học lớp của thầy thì tất nhiên mình không thể nào từ chối được. Và sau khi mình học lớp đấy, mình phát hiện ra có rất nhiều thuật toán mà ngoài CP cực kì thú vị. Trước đây mình chưa từng nghĩ là kinh tế là một thứ mình sẽ đam mê, nhưng sau khi học lớp đấy thì mình thấy sự giao thoa giữa thuật toán và kinh tế rất là hay, nó bao hàm rất nhiều yếu tố khác nhau, không chỉ liên quan đến kinh tế vi mô, kinh tế vĩ mô mà còn là các chủ đề rất là tổng quát trong Computer Science bao gồm độ phức tạp của thuật toán, thiết kế các thuật toán khác nhau. Trong đó cũng có ‘Convex Optimization’ cũng là 1 nhánh của Computer Science và nghiên cứu rất nhiều về việc tối ưu những hàm lồi, khi biết được ý tưởng của cái này thì mình mới nhận ra đã được áp dụng rất là nhiều. diff --git a/interviews/2024-le-minh-hoang.md b/interviews/2024-le-minh-hoang.md index 5a54d62..58682c5 100644 --- a/interviews/2024-le-minh-hoang.md +++ b/interviews/2024-le-minh-hoang.md @@ -18,7 +18,7 @@ Trong môi trường ấy, cũng may là các thầy cô hay khuyến khích, r Mình tới với môn Tin học, đơn giản vì Tin học nó hấp dẫn! Nó không phải như môn Toán, các bài toán khó nhăn nhở trong các kì thi đâu. Mình thích những lúc các anh sinh viên đi làm các đồ án tốt nghiệp, các phần mềm đồ hoạ “chạy nhảy”, và những lúc mình làm ra được một phần mềm nào đó, được người khác sử dụng. Có thể niềm vui ấy rất là đơn giản, nhưng mình cảm thấy nó thật sự có giá trị thực tiễn, khác với giải một bài toán, khi mà mình chỉ sướng được một lúc thôi thì đã phải chuyển sang bài khác rồi. ### Thầy có đề cập đến việc cảm thấy hứng thú khi viết ra phần mềm và được người khác dùng. Liệu nó có phải là lí do để thầy viết ra phần mềm chấm thi Themis – phần mềm đã thay đổi cách chúng ta dạy học ở Việt Nam hay không? -![](../assets/interviews/2024-le-minh-hoang/image3.jpg) +![](../assets/interviews/2024-le-minh-hoang/image3.jpg?width=8cm) Trải qua quá trình làm nhiều phần mềm, có cái làm vì mong muốn cá nhân, cũng có những cái làm để bán nữa, mình có kinh nghiệm lập trình khá đáng kể. @@ -38,27 +38,29 @@ Phải mất khoảng một năm. Thực ra để thành hình sản phẩm thì Một trong những đặc điểm hay ho của môn Tin học so với môn khác đó là chấm tự động. Chuyện mình đọc code rồi chấm gây ra nhiều sai sót, làm cho việc ra đề thiếu chặt chẽ. Mình đọc rất nhiều đề thi trong các kì thi cấp thấp, thì đề toàn đưa ra những dữ liệu đầu vào (input), dữ liệu đầu ra (output) không có ràng buộc input nào, nhìn có vẻ như là những người chấm có ý tưởng sẽ chạy chương trình bằng tay rồi chấm. Nhưng làm vậy thì trái với quy ước của một đề thi Tin học thuần tuý – có ràng buộc dữ liệu. Khi mà hội đồng chấm thi đòi hỏi phải nộp luôn bộ test khi ra đề, thì chắc chắn đề thi phải có những ràng buộc cơ bản như thế. ### Từ khi Themis trở thành trình chấm chính thức cho các cuộc thi (như kì thi HSGQG), thì thầy đã có những kỉ niệm khó quên nào chưa ạ? + +![](../assets/interviews/2024-le-minh-hoang/image2.jpg?width=8cm) + May là chưa có! Mình cũng gặp một số thắc mắc, nhưng cuối cùng lần ra thì cũng là do lỗi của thí sinh thôi. Chẳng hạn như, đôi lúc có những hành vi không xác định (undefined behaviour), lúc đó code chạy trên máy thì ổn, nhưng lúc chạy trên trình chấm, rồi thử chạy trên các trang như ideone, Codeforces thì nó cũng bị tình trạng giống như thế. Thắc mắc nhiều nhất là khi Themis được đưa vào chấm chính thức bằng C\++11. Lúc đấy thì nhiều code C\++98 bị dịch lỗi. Thực ra thì trước khi tham gia bất kì cuộc thi nào, thí sinh phải biết quy tắc, “luật chơi” của kì thi đấy. Nhưng mà ở VOI, thì quy chế của Bộ chỉ nói là C++ thôi, không đề cập phiên bản nào, thế hệ bao nhiêu! Cho nên đôi khi, cần có một thứ phổ biến để giúp thí sinh hiểu rằng “nếu anh chấm ở nhà bằng phần mềm ấy không lỗi, thì tức là đi thi có thể dùng được các lệnh đó!”. Và Themis đã làm được điều ấy. Mình nghĩ Themis đã góp phần hạn chế bớt lỗi trong quá trình thi thật, khi Themis đã được phát hành rộng rãi cho tất cả mọi người đều có thể tiếp cận. ### Chuyện về những ngày đầu ra đấu trường quốc tế -![](../assets/interviews/2024-le-minh-hoang/image2.jpg?width=6cm) -Tin học là môn học hay, được dự đoán là một phần rất quan trọng trong nền giáo dục tương lai, do đó, năm 1987, Hội nghị UNESCO về giáo dục nêu đề xuất tổ chức kỳ thi tin học quốc tế (IOI) bên cạnh các môn Toán, Lý, Hóa, Sinh. Bulgaria đứng ra đăng cai IOI đầu tiên vào năm 1989. Hồi đấy, Tin học đã được tiếp nhận tại Việt Nam, nhưng chỉ dạy cho một số sinh viên ở các khoa đặc biệt của trường đại học mà thôi. Ông Trần Hồng Quân (Bộ trưởng Bộ Giáo Dục từ năm 1987 đến năm 1997), gọi thầy Đàm (Nhà giáo nhân dân Hồ Sĩ Đàm) lên và bảo: “Tôi cũng chả biết môn này là môn gì, nhưng mà thấy bảo môn này quan trọng lắm! Về nhóm cái đội đi thi Quốc tế đi!”. Thi thì, có thể giải ở những năm đầu không quan trọng đâu, chủ yếu để biết người ta học thế nào để mình học theo. +Tin học là môn học hay, được dự đoán là một phần rất quan trọng trong nền giáo dục tương lai, do đó, năm 1987, Hội nghị UNESCO về giáo dục nêu đề xuất tổ chức kỳ thi tin học quốc tế (IOI) bên cạnh các môn Toán, Lý, Hóa, Sinh. Bulgaria đứng ra đăng cai IOI đầu tiên vào năm 1989. Hồi đấy, Tin học đã được tiếp nhận tại Việt Nam, nhưng chỉ dạy cho một số sinh viên ở các khoa đặc biệt của trường đại học mà thôi. Ông Trần Hồng Quân (Bộ trưởng Bộ Giáo Dục từ năm 1987 đến năm 1997), gọi thầy Đàm (Nhà giáo nhân dân Hồ Sĩ Đàm - đồng tác giả bộ sách giáo khoa Chuyên Tin) lên và bảo: “Tôi cũng chả biết môn này là môn gì, nhưng mà thấy bảo môn này quan trọng lắm! Về nhóm cái đội đi thi Quốc tế đi!”. Thi thì, có thể giải ở những năm đầu không quan trọng đâu, chủ yếu để biết người ta học thế nào để mình học theo. -Thầy Đàm về kêu mãi 4 đứa theo chỉ tiêu tối đa đi thi quốc tế, nhưng gọi được có 3 người thôi. Ba người ấy học cấp tốc trong khoảng độ từ 3-4 tháng, về thì có huy chương Đồng. Xong rồi ngay từ những năm sau thì Việt Nam mình đã có Vàng, có Bạc. Đỉnh cao đến năm 1999 Việt Nam đứng #1 toàn đoàn. Bây giờ Việt Nam còn thiếu đúng chức vô địch IOI. -Sau IOI lần đầu, ông Trần Hồng Quân bảo là: "Chưa học gì mà đã được huy chương Đồng, vậy thì triển khai học là ngon ngay". Do đó, ông yêu cầu thầy Đàm triển khai chương trình dạy tin học phổ thông. +![](../assets/interviews/2024-le-minh-hoang/image13.jpg?width=10cm) -![](../assets/interviews/2024-le-minh-hoang/image13.jpg) +Thầy Đàm về kêu mãi 4 đứa theo chỉ tiêu tối đa đi thi quốc tế, nhưng gọi được có 3 người thôi. Ba người ấy học cấp tốc trong khoảng độ từ 3-4 tháng, về thì có huy chương Đồng. Xong rồi ngay từ những năm sau thì Việt Nam mình đã có Vàng, có Bạc. Đỉnh cao đến năm 1999 Việt Nam đứng #1 toàn đoàn. Bây giờ Việt Nam còn thiếu đúng chức vô địch IOI. +Sau IOI lần đầu, ông Quân bảo là: "Chưa học gì mà đã được huy chương Đồng, vậy thì triển khai học là ngon ngay". Do đó, ông yêu cầu thầy Đàm triển khai chương trình dạy tin học phổ thông. Các thầy của Việt Nam có thể là những chuyên gia rất giỏi, nhưng viết chương trình lại là thách thức lớn, khi phải biết dạy cái gì trước, cái gì sau. Hơn nữa, các thầy không thể áp cái cách học của mình xuống học sinh phổ thông vì hầu hết các thầy học tin đều trong trạng thái đã là Tiến sĩ, Phó tiến sĩ, Thạc sĩ, Cử nhân các ngành Toán, Lý, Tối ưu hóa, Tự động hóa rồi. Hồi đấy thì chưa bỏ cấm vận, mình chỉ giao lưu với các nước thuộc khối Vác-sa-va (Warsaw) - các nước Xã hội Chủ nghĩa thôi. Nên các thầy phải đi xin tài liệu của Ba Lan, Nga, v.v, rồi sau đó thì trộn vào thành một cái chương trình, dạy ở một vài trường chuyên: trường chuyên Khoa học Tự nhiên, trường mình (Đại học Sư phạm), Đại học Bách khoa, trường chuyên Hà Nội – Amsterdam, thành phố Hồ chí Minh với trường Phổ thông Năng Khiếu, v.v. Học sinh của mình thì có cái hay: "nếu không thi, thì không học; còn một khi đã thi thì nó sẽ học và ông thầy cũng sẽ phải cố dạy!". Từ đó, nội dung học ngày càng được làm phong phú thêm và chuẩn hóa dần. Do vậy, chỉ có huy chương Đồng trong lần đầu tiên tham dự thì mang lại sự bất ngờ thôi, còn những năm sau, tính cạnh tranh được nâng cao, đề thi bắt đầu khó rồi. -Những năm đầu tiên, IOI vẫn có format chấm như các môn khác: học sinh trình bày thuật toán ra giấy; Chương trình có là được, không có thì cũng chả đến nỗi bị 0 điểm. Sau đó, mình phải dịch bài ra tiếng Anh, rồi từng nhóm chia nhau ra chấm. Trong ngày cuối cùng, trưởng đoàn phải đứng ra bảo vệ cho học sinh mình - tranh luận ở những điểm nào đang mấp mé giữa cho điểm hay không. Nói chung, việc chấm bài rất mệt mỏi, và hội đồng làm việc rất căng thẳng trong một khoảng thời gian dài. - ![](../assets/interviews/2024-le-minh-hoang/image1.jpg) +Những năm đầu tiên, IOI vẫn có format chấm như các môn khác: học sinh trình bày thuật toán ra giấy; Chương trình có là được, không có thì cũng chả đến nỗi bị 0 điểm. Sau đó, mình phải dịch bài ra tiếng Anh, rồi từng nhóm chia nhau ra chấm. Trong ngày cuối cùng, trưởng đoàn phải đứng ra bảo vệ cho học sinh mình - tranh luận ở những điểm nào đang mấp mé giữa cho điểm hay không. Nói chung, việc chấm bài rất mệt mỏi, và hội đồng làm việc rất căng thẳng trong một khoảng thời gian dài. + Đến năm 1994, người ta cãi nhau “mệt rồi”. Thôi thì, anh làm sai cũng được, nhưng tôi có một bộ test, làm sai là một phần của cuộc chơi, anh cứ đúng test đó là được. Từ năm ấy, người ta bắt đầu chấm theo bộ test. Từ khi bắt đầu chấm bộ test, Việt Nam mình kết quả cũng có chiều hướng đi xuống; Có năm chỉ được 1 tới 2 huy chương Đồng. Nhưng mà ngay sau đấy, từ năm 1995 tới 1999, Việt Nam mình đứng nhất thế giới! Dù chấm bằng bộ test nhưng tính chất bài thì vẫn giữ nguyên, là các bài toán tối ưu. Các bài đó được chấm theo độ tốt, thí sinh không cần đưa ra đáp án chính xác tuyệt đối. Hồi đấy, đa số các bài đưa ra thì sẽ theo kiểu NP đầy đủ (NP-complete). Sau đỉnh cao 1999, không chỉ Việt Nam, rất nhiều nước khác bắt đầu dùng chiến thuật: không tập trung nghĩ thuật toán hoàn hảo cho một bài nào cả (subtask), bài nào cũng phải có code một phần nào đó. Đôi khi code ấy lại được điểm rất là cao, nhưng nói thẳng là thuật toán sai ấy! Bởi vì phải đưa ra đáp án gần đúng chứ không phải đáp án chỉ có một số, đúng chính xác như bây giờ. @@ -70,7 +72,7 @@ Dù chấm bằng bộ test nhưng tính chất bài thì vẫn giữ nguyên, l Không dạy for với while thì lại không được! -![](../assets/interviews/2024-le-minh-hoang/image6.jpg) +![](../assets/interviews/2024-le-minh-hoang/image6.jpg?width=7cm) Ngày xưa, thì trong sách lớp 11 dạy thế đấy! Trong Pascal có 3 vòng lặp: repeat, while với for. Tương tự cho C, có do..while, while với for. Hàm while là hàm tổng quát nhất, thì người ta dạy mỗi while còn hai cái kia thì lại bỏ! Tước bớt công cụ thì lập trình lại càng khó hơn chứ đâu có dễ hơn gì đâu! Đôi khi bệnh thành tích hay học để thi, thì cũng có mặt tích cực: Khi mình đã đại diện cho một đơn vị nào đấy đi thi, thì mình phải có một sự nỗ lực cố gắng, và trong quá trình nỗ lực cố gắng ấy, thì mình mới thấy thích! Không có yêu cầu thành tích thì người ta chả học đâu, hoặc học mà không có định hướng, không có mục đích rõ ràng. Ông thầy cũng lười, vì môn của mình đâu có thi đâu mà phải ép các bạn học sinh nhiều vậy! Trong thể thao, một người không tập luyện bài bản gì vẫn có thể chạy, đánh bóng bàn, cầu lông, đá bóng, … nhưng vẫn phải có các động viên thành tích cao, thì người ta mới biết chơi thế nào là đúng kỹ thuật, tránh chấn thương, rồi ăn uống, ngủ nghỉ như thế nào để nâng cao thành tích… Trong Tin học cũng tương tự thế, chỉ những thí sinh CP mới biết kỷ luật nghiêm ngặt khi chấm bằng test, biết cách hạn chế các lỗi tràn hay hành vi không xác định… @@ -88,7 +90,7 @@ Mình nghĩ rằng gần đây các bạn cũng có mặt giỏi hơn, nhưng c Mình thấy rất nhiều bạn như thế, kể cả là sinh viên. Tất nhiên thì những bài ở mức độ nhập môn ở đâu cũng có, ai cũng dạy như thế cả nên chắc chắn là tìm trên mạng sẽ có được code, và học thuộc rồi đi thi thì sẽ làm được thôi! Nhưng cái quan trọng là khi mình làm những bài đấy, thì mình phải tự làm, phải trải nghiệm những sai lầm, để biết cách sửa lỗi sai ấy và trưởng thành hơn. Nhiều bạn hiện tại hoàn toàn không có khả năng tự sửa chữa lỗi sai ấy, vì code đúng hết rồi thì lấy đâu mà sửa nữa! Thậm chí là chuyện chép code của nhau cũng thế, thay vì tự mình tư duy như hồi xưa, việc đầu tiên các bạn làm là search và chép code. Điều này làm cho tư duy của các bạn bị kém độ nhạy đi. Kiến thức học sinh bây giờ có thể được học nhiều hơn trước, nhưng độ nhạy bén trong suy nghĩ để vận dụng các kiến thức ấy không bằng các thế hệ xưa. -![](../assets/interviews/2024-le-minh-hoang/image4.jpg?width=10cm) +![](../assets/interviews/2024-le-minh-hoang/image4.jpg?width=8cm) Ngay cả trong việc học C++, các bạn tập sử dụng các hàm trong thư viện sớm quá! Nếu ngay từ đầu mà đã nhảy vào dùng set, map, v.v, thì người ta sẽ không hiểu cái nguyên lý của các cấu trúc dữ liệu đó. Mà đôi khi, đích đến của việc học không phải là để cài bài tập, học là để hiểu nguyên lý! Đấy mới là cái bổ ích, là giá trị cốt lõi của khoa học máy tính. Thật ra để làm những thứ mà chỉ đơn thuần dùng set, map thì chả có phần mềm nào đòi hỏi bạn tự code bằng tay đâu! @@ -102,7 +104,7 @@ Nó không phải là chỉ có các bạn học chương trình Tin học phổ Vấn đề của cách học này còn dính dáng tới chuyện về học toán nữa cơ. Cách học toán của các bạn hiện tại vẫn theo kiểu gần như tương tự: ngay cái lúc mà bạn học toán ở cấp cơ sở, thì các bạn đã phụ thuộc vào sách bài tập, lớp học thêm, các hệ thống AI, v.v, làm tư duy toán của các bạn khá là nông. Thậm chí là, nếu mình đọc thử đề thi toán các trường chuyên, hầu như là toàn các bài rất khó, thì các bạn giải tốt, nhưng đến những cái toán vô cùng cơ bản, thì chưa chắc các bạn đã nhớ và vận dụng tốt. Phải nói rằng người thầy dạy phải khéo lắm thì mới cảm thấy các bạn đang làm bài tốt, nhưng rất có thể đó là giá trị ảo dẫn tới đánh giá sai: tưởng các bạn giỏi vì làm được bài khó nên liên tục nâng cao mà không biết rằng các bạn đang mất cơ bản. -![](../assets/interviews/2024-le-minh-hoang/image12.jpg?width=10cm) +![](../assets/interviews/2024-le-minh-hoang/image12.jpg?width=9cm) Như đã nói, ChatGPT nó làm mọi người lười suy nghĩ hơn, và điều này rất nguy hiểm. Mình dạy những bài toán cơ bản: tìm kiếm nhị phân, sàng số nguyên tố,... Mình không phải chỉ dạy đơn thuần thuật toán đấy – nó chỉ là một phần rất nhỏ thôi, vì cái tư tưởng thuật toán và cách thức triển khai chương trình mới quan trọng, và qua việc mô phỏng đúng một thuật toán thì người học mới thấy được cái hay và phát triển tư duy giải quyết vấn đề. Ví dụ với sàng số nguyên tố, ngày xưa, ông tác giả dùng cái que, chọc một vài lỗ lên lá để sàng. Ta phải mô phỏng lại quá trình đấy, để các bạn thấy được cái hay của thuật toán, và tư duy của các bạn sẽ phát triển khác đi. @@ -124,10 +126,11 @@ Khi mình làm việc với các bạn mới học đội tuyển thì mình cũ Có một đoạn nữa, khi mà chuyển sang dạy C++, mình biết C++, nhưng để biết ở mức độ đi dạy được, thì phải thi bằng cái đấy xong mới biết mà dạy được. Nếu mà chỉ chuyển từ ngôn ngữ này sang ngôn ngữ kia theo kiểu ánh xạ 1:1 ấy, thì nó không phải là tư duy của một người đi thi – không thể làm nhanh được. Đợt đấy, rank của mình tụt thê thảm, cứ nhập nhằng mãi. Quãng thời gian đấy, hầu như kỳ thi nào mình cũng làm, đến mức độ học sinh tưởng mình cho nick đứa nào đó để tập cơ. Mình tập bằng một ngôn ngữ mới, thì nó thay đổi thói quen viết cũ, ngay cả trong cách trình bày chương trình. Phải tập đến độ Expert thì mới tự tin đi dạy được người khác. ### Theo thầy thì so C++ với Python, Python có dễ học hơn C++ nhiều không? -Nói về ngôn ngữ lập trình, mình thấy ngôn ngữ nào cũng phải bỏ công học tất cả mọi cấu trúc điều khiển và đặc tả của ngôn ngữ đó. Mình không nghĩ là có ngôn ngữ nào dễ hơn hẳn cái kia. Còn nếu mà nói khó làm chủ, thì mình nghĩ rằng C++ là một trong những ngôn ngữ khó. C++ có quá nhiều kí hiệu, và càng về sau thì ngày càng mở rộng ngôn ngữ ra làm cho code rối rắm hơn, nổi bật là lambda function và các cách viết tắt thông dụng khác nữa. Lẽ ra thì C++ nên làm theo hướng thêm đặc tả nếu cần thôi, chứ ngôn ngữ đang chạy ổn thì cứ giữ nguyên một khoảng thời gian. C++ cứ 5 năm lại lên một đời, làm cho người ta chạy theo lâu lâu cũng thấy mệt. ![](../assets/interviews/2024-le-minh-hoang/image9.jpg?width=10cm) +Nói về ngôn ngữ lập trình, mình thấy ngôn ngữ nào cũng phải bỏ công học tất cả mọi cấu trúc điều khiển và đặc tả của ngôn ngữ đó. Mình không nghĩ là có ngôn ngữ nào dễ hơn hẳn cái kia. Còn nếu mà nói khó làm chủ, thì mình nghĩ rằng C++ là một trong những ngôn ngữ khó. C++ có quá nhiều kí hiệu, và càng về sau thì ngày càng mở rộng ngôn ngữ ra làm cho code rối rắm hơn, nổi bật là lambda function và các cách viết tắt thông dụng khác nữa. Lẽ ra thì C++ nên làm theo hướng thêm đặc tả nếu cần thôi, chứ ngôn ngữ đang chạy ổn thì cứ giữ nguyên một khoảng thời gian. C++ cứ 5 năm lại lên một đời, làm cho người ta chạy theo lâu lâu cũng thấy mệt. + Còn riêng về Python, thì mình không nghĩ đây là một ngôn ngữ dễ. Nó dễ theo cái nghĩa: nó viết những chương trình đầu tiên rất dễ. Ví dụ, nhập vào một số rồi in ra cái gì đó, nhập hai số in ra tổng, … rất dễ, chỉ cần gõ lệnh trực tiếp rồi chạy từng lệnh một, thay vì gõ cả chương trình rồi biên dịch, sửa lỗi cú pháp, v.v. Và người ta có cảm giác rằng nó dễ vì sống chết gì nó cũng chạy, chỉ là tới dòng mà mình viết sai thì nó dừng lại thế thôi. Vậy nên mình cũng chẳng hiểu căn cứ vào đâu để người ta nói Python dễ học. Có lẽ người ta cho rằng nó dễ học vì chép code trên mạng có nhiều. Nói về chuyện thuật toán và cấu trúc dữ liệu, một trong những cái mà mình thấy rất là quan trọng là đánh giá độ phức tạp tính toán. Python không đánh giá được vì phép cộng, phép nhân của nó không phải là hằng số. Với những cái đấy, thì khi mình đánh giá độ phức tạp, lúc chạy thì nó sẽ 'rùa' hơn so với cái mình đã đánh giá. @@ -144,7 +147,7 @@ Với C++ thì thầy vẫn dùng Codeblocks. Mình nghĩ là Codeblocks nó d Tuy nhiên mình lại thấy có rất nhiều bạn code thẳng bằng giao diện trên trang web nào đấy: Mở web, code thẳng vào đấy rồi nộp bài luôn. Mà mình lại chẳng thấy cách làm này được lợi ích gì cả. Nếu có lỗi thì nó gỡ kiểu gì? -![](../assets/interviews/2024-le-minh-hoang/image7.jpg) +![](../assets/interviews/2024-le-minh-hoang/image7.jpg?width=7.5cm) Người ta đã nghĩ ra IDE – một môi trường tích hợp cả soạn thảo, biên dịch và gỡ lỗi, thì nó phải có lí do của nó. Nếu bạn code trên ideone thì bạn đã bỏ qua những lợi ích mà nó cung cấp. Ngay cả chuyện đơn giản như việc nhập xuất từ file, tuy đề không cần nhập xuất từ file, các bạn lại có thói quen cứ chạy thử chương trình rồi lọc cọc gõ theo input mẫu. Mà input mẫu thì có phải lúc nào cũng ngắn đâu, cũng có những bài rất dài! Rồi khi chạy sai, rồi lại gõ input mẫu vào. Mình nghĩ rằng công đấy tốn sức hơn cả việc soạn một sẵn một file input. Nhiều khi mỗi lần chỉ gõ hết 5-10s thôi, nhưng mà phải gõ cả chục, cả trăm lần đó là thời gian đáng kể và gây ức chế. @@ -157,6 +160,8 @@ Chuyện chọn IDE cũng như vậy, quả thực rất là khó để dạy c ### Nhắc đến việc debug, em thấy rằng ở Việt Nam rất ít người dùng debugger, tất cả đều chọn phương án in hết. Thầy có dạy học sinh dùng debugger không hay cũng in ra hết màn hình để tìm lỗi? Thật ra thì cái đấy có dạy được đâu. Mình nghĩ hồi xưa, khi mình học debugger thì trong tư tưởng của mình: nếu người làm ra phần mềm đã nghĩ ra cái này thì đây không phải là cái thứ vứt đi, nó đã tích hợp rồi thì chắc chắn phải là cái quan trọng! +![](../assets/interviews/2024-le-minh-hoang/image8.jpg?width=5.5cm) + Cái thứ hai, là mình nhận ra hạn chế của trò soi code hay in màn hình nên mong muốn có một thứ giúp cho mình khoanh vùng lỗi dễ hơn. Mình đợi tới khi nào mình sinh bug, thì mình dùng thử nó xem sao! Lúc bấy giờ mới tra lại phím tắt các thứ, dần dần thì mình quen. Trò này kết hợp với việc in ra màn hình thì nó rất là lợi! Ví dụ, trong một vòng for từ 1 tới 1000000, i chạy đến 2, 3, 4 thì mới lỗi. Mình chạy đến i = 4 thì nó sinh lỗi, mình break, rồi đặt điều kiện ở i = 4, thế là gỡ thêm được! Chứ cứ để nó in ra màn hình thì nó sẽ rất là rối. Nếu in ra 1, 2 số thì được; hoặc trong đa số các bài thi Quốc gia thì vẫn có thể làm được, nhưng phải quen, thao tác nhanh. Cũng phải thừa nhận có những người năng khiếu lập trình bẩm sinh. Họ code rất bẩn, rối rắm nhưng vẫn kiểm soát được và debug bằng mắt rất nhanh. Những thứ thực sự làm khó họ phải ở tầm các phần mềm hàng vạn dòng code trở lên và làm trong thời gian dài chứ không phải giới hạn vài trăm phút. Các kỳ thi không làm khó được những người này và khi họ livestream cũng phổ biến luôn cái thói quen debug bằng mắt ấy. Mình thì cho rằng nếu có năng khiếu bẩm sinh như vậy thì không cần học theo ai, còn nếu không thì cứ học theo đúng quy chuẩn phần mềm mà làm. Học làm giàu theo kiểu tỉ phú là cách phá sản nhanh nhất mà! @@ -164,9 +169,6 @@ Cũng phải thừa nhận có những người năng khiếu lập trình bẩm ### Những năm gần đây, thành tích của Chuyên Sư Phạm bắt đầu đi lên. Thầy có cảm nhận gì về phẩm chất chung giữa các bạn đạt thành tích cao hay không? Mỗi người một vẻ, không giống nhau tí nào. Nhưng có thể phân loại những bạn học toán tốt từ bé. Các bạn có thể hơi loạng choạng về mặt kĩ thuật lập trình, nhưng khi mà bạn đã khắc phục được, thì tư duy quản lí chương trình và triển khai thuật toán sẽ rất sáng sủa và tiến bộ nhanh. Loại thứ hai là những bạn ngược lại – kĩ thuật lập trình tương đối tốt và chịu khó tư duy sâu. Thứ 3 là loại mà giỏi bẩm sinh ở tầm... khủng, trước giờ không được học nhiều nhưng khi đam mê rồi thì tự học 100%, vai trò của thầy rất là ít. - -![](../assets/interviews/2024-le-minh-hoang/image8.jpg?width=5.5cm) - Mình nghĩ là ở mức độ thi Quốc gia, cứ chăm chỉ luyện tập thì chắc chắn sẽ được giải. Đôi khi, chỉ cần chăm chỉ luyện tập, kiên trì, tiến bộ, tự nhận dạng lỗi sai của mình, tránh lặp đi lặp lại một lỗi nhiều lần thôi là đủ, không cần tư chất gì đặc biệt. *Còn ví dụ nếu muốn vào vòng 2, thì phải có năng khiếu, có tư chất đặc biệt hơn đúng không ạ?* @@ -177,6 +179,8 @@ Còn để đạt giải Quốc gia, thì kĩ thuật là cái quan trọng nh ### Các bạn từ đoạn chưa biết gì, để dạy lên trình độ ổn thi Quốc gia, thì mình phải dạy đủ kiến thức thì sẽ thi được. Còn với thầy, làm thế nào để thầy phát huy được các bạn đã ngang tầm Quốc gia và muốn học lên, khi kiến thức không còn là vấn đề quá lớn nữa? +![](../assets/interviews/2024-le-minh-hoang/image10.jpg?width=6cm) + Đến lúc thi Quốc gia, những tuần cuối cùng, chủ yếu mình cho các bạn rút kinh nghiệm chiến thuật. Tất nhiên thì kiến thức thì muốn học bao nhiêu cũng được, nhưng việc chuẩn bị trước cách phản ứng trong phòng thi với từng trường hợp cụ thể thì sẽ tốt hơn. Ví dụ như lúc mình đọc đề và chả thấy bài nào mình làm được, thì chắc hẳn người khác cũng sẽ trong tình trạng như thế thôi! Mình muốn điểm số bằng bạn bằng bè thì phải đưa ra chiến thuật như thế nào, chứ nếu ngồi ngắm đề thì thôi chả làm gì được. Hoặc là đi thi, mình đọc bài nào cũng có phần làm được, thì mình sẽ nghĩ bao nhiêu lâu và triển khai code trong khoảng thời gian nào. Nếu mình có sự lường trước, thì mình sẽ chủ động hơn về mặt thời gian. Đến đoạn thi Quốc tế, lúc đấy thì chỉ có thể điểm danh kiến thức cho các bạn: cái này bạn biết chưa, cái kia nên đọc ở đâu,... rồi động viên giữ gìn sức khoẻ thôi. Ở tầm Đội tuyển quốc gia trở đi, những gì thầy làm được thì đã làm hết rồi, không chỉ riêng thầy, mà còn là nhiều người thầy khác, và cả các anh chị thế hệ trước nữa. Nói về kiến thức, nếu mình nhồi thêm nữa thì cũng chả quan trọng lắm đâu. @@ -184,8 +188,6 @@ Còn để đạt giải Quốc gia, thì kĩ thuật là cái quan trọng nh ### Trong suốt những năm thầy đi dạy đội Quốc gia, thầy có ấn tượng nào về một năm, hay một học sinh nào đó hay không? Thật ra các bạn đi thi Quốc tế, ai cũng có cái giỏi riêng của họ cả. Kết quả có thể có những bạn được huy chương Vàng, Bạc, Đồng khác nhau do đề thi có thể không khai thác vào điểm mạnh của họ, nên kết quả khác nhau cũng dễ hiểu. -![](../assets/interviews/2024-le-minh-hoang/image10.jpg?width=6cm) - Như ngày xưa, vào năm 2011, mình đi sang Thái Lan với Linh (Nguyễn Vương Linh - IOI 2011). Linh có khả năng nghĩ rất nhanh nhưng nói thật thì Linh code không nhanh lắm đâu. Tuy vậy, Linh luôn ở trong trạng thái tự tin rằng mình sẽ đạt được kết quả khả quan. Năm đấy mình đi với cả Linh, Tuệ (Lê Khắc Minh Tuệ - IOI 2011), Nguyên (Nguyễn Tấn Sỹ Nguyên - IOI 2011) và Yến (Nguyễn Hoàng Yến - IOI 2011). Yến năm đấy đi thi, sợ nhất là vấn đề “run”. Trong lúc ôn luyện đội tuyển, Yến đã đi qua một thời gian căng thẳng dài. Đi thi thì Yến vẫn run, nhưng may là được huy chương. Kể cả một số bạn không đi thi Quốc tế, như Trung (Nguyễn Thành Trung - RR) mình cũng rất ấn tượng về kiến thức và lòng đam mê, v.v. Vòng TST thật ra nó cũng chỉ là một kì thi thôi, nên khó mà đánh giá được năng lực thực sự. Hồi xưa mình có một bạn mà mình rất là ưng – bạn Vũ (Phạm Quang Vũ), cũng đâu có đi thi Quốc tế đâu! @@ -198,7 +200,7 @@ Cái tinh thần không bỏ cuộc, sự quyết tâm cho những gì mà mình Lúc đầu làm gì có sách đâu! Mỗi thầy dịch một ít sách của Ba Lan với Nga rồi tiện đâu dạy đấy. Đến năm 1994, mình tốt nghiệp cấp 3, vào khoa Toán của Đại học Sư phạm. Suốt 4 năm trời, mình có đả động gì tới cuộc thi học sinh giỏi đâu. Sau đấy, mình có hai lựa chọn: xin việc làm giáo viên Toán, hoặc tiếp tục làm công ty Tin học. Sau đấy, khối Chuyên gọi mình ở lại dạy, nên mình vẫn làm ở công ty bình thường và đi dạy học. Mình cảm thấy việc đi dạy khá hay, cũng như bản thân thật sự có ích nên mình tập trung đi dạy từ khoảng năm 2000. -![](../assets/interviews/2024-le-minh-hoang/image12.png) +![](../assets/interviews/2024-le-minh-hoang/image12.png?width=6cm) Nói tới chuyện sách, sau 4 năm không đả động gì tới Học sinh giỏi Tin, mình đâu biết kì thi đang bao gồm nội dung gì đâu. Sau hôm đó thì mình phải về học lại. Nếu có sưu tập đề, thì đa số các bài hồi mình thi sẽ theo dạng một trò chơi giữa hai người với nhau, hoặc là những bài NP-complete – đưa ra các giải pháp gần đúng, v.v. Lúc đó là năm 1998, đề bài đã khó lắm rồi. Các thầy cho các bạn chấm test ầm ầm. Lúc ấy, mình nhận ra rằng trình độ mình còn non hơn các bạn lớp 12 trong đội tuyển. Điều đó buộc mình phải học thôi! Cách học tốt nhất là cứ ghi ra các kiến thức đọc được, rồi dạy cho khoá mới. diff --git a/interviews/2024-nguyen-duc-thang.md b/interviews/2024-nguyen-duc-thang.md index 09b6426..3dc7495 100644 --- a/interviews/2024-nguyen-duc-thang.md +++ b/interviews/2024-nguyen-duc-thang.md @@ -81,7 +81,7 @@ Em nhớ nhất kỉ niệm... trốn học ạ. Phòng em có 3 người: em, a ![](../assets/interviews/2024-nguyen-duc-thang/image3.jpg?wrapfigLineheight=11) -Ở Hungary, các toà nhà có kết cấu từ ngày xưa, có nhiều hoa văn khá độc lạ. Em thấy Hungary đẹp, nhưng cũng chưa phát triển lắm, vì em để ý thấy vẫn còn nhiều khu đất trống. Cảm giác hệt như ở vùng nông thôn vậy. Đợt tụi em đi thi IOI, hội du học sinh Việt Nam ở Hungary hỗ trợ rất nhiều. Ngoài ra còn có hội người Việt Nam ở Hungary tài trợ ở một số mặt nữa ạ. Em vui vì họ rất nhiệt tình, nhưng cũng hơi thắc mắc vì bay gần nửa vòng Trái Đất cuối cùng lại thưởng thức gà luộc, phở bò..., chả khác gì ở nhà cả! Em cũng rất thích Hungary vì đó là quê nhà của số 8 mới ở Anfield (sân nhà của đội bóng Liverpool) - Szoboszlai. +Ở Hungary, các toà nhà có kết cấu từ ngày xưa, có nhiều hoa văn khá độc lạ. Em thấy Hungary đẹp, nhưng cũng chưa phát triển lắm, vì em để ý thấy vẫn còn nhiều khu đất trống. Cảm giác hệt như ở vùng nông thôn vậy. Đợt tụi em đi thi IOI, hội du học sinh Việt Nam ở Hungary hỗ trợ rất nhiều. Ngoài ra còn có hội người Việt Nam ở Hungary tài trợ ở một số mặt nữa ạ. Em vui vì họ rất nhiệt tình, nhưng cũng hơi thắc mắc vì bay gần nửa vòng Trái Đất cuối cùng lại thưởng thức gà luộc, phở bò..., chả khác gì ở nhà cả! Em cũng rất thích Hungary vì đó là quê nhà của số 8 mới ở Anfield (sân nhà đội Liverpool) - Szoboszlai. ### Khi bạn bước vào thi IOI, bạn chuẩn bị tâm lý như thế nào?