👉 VNOJ - VNOI Online Judge là hệ thống online judge open source chính thức của VNOI, dựa trên nền tảng của hệ thống DMOJ. Là một hệ thống chấm bài tự động, VNOJ được tạo ra với mục đích xây dựng một môi trường luyện tập và cạnh tranh dành cho cộng đồng Tin Học Việt Nam với kho bài tập và đề thi rộng lớn.
💝 Để lan tỏa sứ mệnh trên, VNOI xin được thông báo đến quý Thầy Cô cần một hệ thống để tổ chức kỳ thi có thể tin tưởng sử dụng VNOJ!
🌟 Quý Thầy Cô, quý Tổ chức có nhu cầu cần được VNOI hỗ trợ tổ chức contest, xin hãy liên hệ với VNOI để báo trước các thông tin về thời gian, số lượng thí sinh cũng như gia hạn trước số giờ để VNOI có thể hỗ trợ được nhanh và tốt nhất.
🤝 VNOI xin chân thành cảm ơn quý Thầy Cô và quý Tổ chức đã quan tâm!
🌟 Lần này, dự án sinh test các đề thi chính thức của VNOI sẽ mang đến các bạn một đề thi có lẽ được rất nhiều bạn quan tâm mong chờ: VOI 2025. Đề thi chọn học sinh giỏi cấp Quốc gia môn Tin học năm học 2024-2025 được đánh giá là một trong những đề thi hay và khó trong nhiều năm trở lại đây. Hiện tại, các bạn có thể thử sức với đề thi này với bộ test được sinh bởi VNOI trên VNOJ.
👉 Hình thức: Contest được mở trong 7 ngày, khi đăng ký tham gia bạn sẽ có 5 tiếng để hoàn thành một contest (sau khi kết thúc contest, các bạn vẫn có thể giải tiếp những bài này thông qua virtual join).
🥰 Xin cảm ơn các bạn TNV VNOI & Admin đã tham gia hỗ trợ chuẩn bị contest này. Thông qua dự án, chúng mình hy vọng các bạn có thể luyện tập hiệu quả và đạt kết quả cao trong các kỳ thi sắp tới. Hẹn gặp các bạn trong kỳ sau của dự án sinh test các kỳ thi chính thức!
✍ Tết đến Xuân về, mai đào lại nở. Những ngày xuân đã ghé đến bên hiên nhà, mỗi người đều chuẩn bị khai bút đầu năm cùng những lời chúc tốt đẹp, những dự định mới trong năm. Để gửi đến một làn gió ấm áp với những kiến thức mới mẻ trong tiết trời se lạnh mùa Xuân, VNOI xin vui mừng ra mắt Tạp chí VNOI năm Ất Tỵ 2025 🎊
✨ Với mục đích truyền tải kiến thức, kinh nghiệm qua nhiều chủ đề, số tạp chí đặc biệt kì này sẽ mang đến cho các bạn những bài viết thú vị, những cuộc phỏng vấn chưa từng có với nội dung cô đọng, phù hợp với nhiều đối tượng độc giả. Món quà đầu xuân VNOI dành tặng cho cộng đồng nhân dịp năm mới Ất Tỵ 2025 này còn là một lời tri ân sâu sắc đến với những cá nhân đã nỗ lực không ngừng nghỉ đóng góp cho nền Tin học Việt Nam trong nhiều năm vừa qua.
❤️ VNOI xin chân thành cảm ơn sự ủng hộ và đóng góp của quý độc giả, các khách mời tham gia phỏng vấn, các tác giả đã gửi bài đến cho Tạp chí trong thời gian qua, và đặc biệt là đội ngũ biên tập viên - những người đã miệt mài làm việc để hoàn thiện Tạp chí.
🤩 Tiếp tục duy trì và lằng nghe những góp ý từ các bạn độc giả, VNOI cung cấp một giao diện tiện lợi trực tiếp trên VNOJ để mọi người dễ dàng tìm đọc, ngoài ra với sự cải tiến về mặt giao diện, Ban biên tập tạp chí sẽ đem lại sự hài lòng đến với nhiều độc giả.
📣 Và không để các bạn đợi lâu nữa, VNOI xin chính thức ra mắt Tạp chí VNOI Ất Tỵ 2025 đến quý độc giả tại giao diện VNOJ hoặc tải về để đọc tại link
😍 Mặc dù được trau chuốt và kiểm tra kỹ lưỡng, song Tạp chí không thể tránh khỏi những thiếu sót. Vì vậy, chúng mình rất mong nhận được những góp ý chân thành đến từ quý độc giả để có thể hoàn thiện hơn cho những ấn phẩm sau nhé!
🎆 Bước sang năm mới Ất Tỵ 2025, VNOI xin kính chúc mọi người một năm mới với nhiều may mắn và thuận lợi. Chúc các bạn sẽ gặt hái được những thành tích thật cao trong các kỳ thi sắp tới, đặc biệt là các “sĩ tử” đang ngày đêm ôn luyện để chuẩn bị cho kỳ thi Chọn đội tuyển dự thi Olympic Quốc tế - TST. Hẹn gặp lại các bạn trong những dự án sắp tới của VNOI nhé!
✨ Các bài toán xử lí xâu luôn là chủ đề thú vị trong lập trình thi đấu. Cây tiền tố (Trie) và thuật toán Knuth-Morris-Pratt (KMP) là hai kĩ thuật vốn đã quen thuộc với các lập trình viên. Sự kết hợp của hai chủ đề trên tạo nên một thuật toán cực kì thú vị, đặc biệt trong những bài tập xử lí nhiều xâu - Aho Corasick. Đây là một thuật toán giúp bạn quản lý một tập xâu và giải bài toán kinh điển như sau:
Cho N xâu S[i] và Q xâu T[j]. Với mỗi xâu T[j], liệt kê tất cả các lần xuất hiện của các xâu S[i] ở trong xâu T[j] này.
Hãy cùng VNOI khám phá thuật toán độc đáo này nhé!
✍️ Người viết: Nguyễn Minh Nhật - HUS High School for Gifted Students
✅ Reviewer:
Lê Minh Hoàng - Trường Đại học Khoa học Tự nhiên - ĐHQG TP.HCM
Nguyễn Hoàng Vũ - Trường Đại học Công nghệ - ĐHQGHN
😍 Cảm ơn các bạn TNV & Admin VNOI đã biên soạn bài viết vô cùng bổ ích này. Thông qua bài viết, VNOI hy vọng rằng các bạn sẽ có thể vận dụng linh hoạt kỹ thuật trong quá trình luyện tập cũng như trong các kỳ thi sắp đến. Cảm ơn các bạn đã luôn đồng hành cùng VNOI, hẹn gặp lại các bạn trong các bài viết sau nhé!
👉 Toán học được biết đến là một phần không thể thiếu trong lập trình thi đấu. Các bài tập liên quan đến lĩnh vực Toán, đặc biệt là Số học, thường là những bài tập tương đối thử thách. Trở lại với chuyên mục VNOI Wiki Project lần này, chúng mình mang đến một chủ đề Số học có thể nói là khá quen thuộc đối với các bạn trẻ chuyên Toán, tuy nhiên có thể còn khá xa lạ đối với các CP-ers, chính là Căn bậc hai modulo P.
Bài viết sẽ trình bày những khái niệm cơ bản nhất liên quan đến chủ đề, cùng với đó là hai thuật toán khác nhau để tính căn bậc hai modulo p. Ngoài ra, bài viết cũng minh họa thuật toán nói trên trong việc tính toán theo modulo P số Fibonacci, mà tiêu biểu là bài toán F - Fibonacci Power của kỳ thi ICPC miền Nam 2023 .
✍️ Biên soạn: Nguyễn Minh Hiển - Trường Đại học Công nghệ, ĐHQGHN
✅ Reviewers: Phạm Công Minh - Trường Đại học Công nghệ, ĐHQGHN
😍 Cảm ơn các bạn TNV & Admin VNOI đã biên soạn bài viết vô cùng bổ ích này. Thông qua bài viết, VNOI hy vọng rằng các bạn sẽ có thể vận dụng linh hoạt kỹ thuật trong quá trình luyện tập cũng như trong các kỳ thi sắp đến. Cảm ơn các bạn đã luôn đồng hành cùng VNOI, hẹn gặp lại các bạn trong các bài viết sau nhé!
👀 Phóng viên thường trực tại VNOJ đưa tin, thời gian gần đây lượt nộp bài trên VNOJ tăng đột xuất. Điều này thể hiện rõ hơn bao giờ hết tinh thần học tập và ôn luyện nhiệt huyết của các bạn trẻ yêu lập trình trước các kì thi lớn sắp tới 💪
💖 Chính vì thế, VNOI đã nâng cấp lên 6 MÁY CHẤM với cấu hình cao và hoạt động hết công suất để đáp ứng nhu cầu của các bạn, nhằm tạo điều kiện tốt nhất giúp các bạn ôn tập và có một phong độ cao nhất trước các kỳ thi.
😉 Hy vọng rằng, với sự nâng cấp này của VNOJ sẽ hỗ trợ các bạn trong quá trình học tập và đem đến cho các bạn trải nghiệm luyện tập tốt nhất. Chúc các bạn đạt được kết quả cao!
🔥 Từ khi giới thiệu lần đầu năm 2021, tính năng Tổ chức trên VNOJ đã nhận được sự ủng hộ nhiệt tình và nhiều phản hồi tích cực từ các thầy cô và các bạn học sinh. Cho đến nay, VNOI đã và đang hỗ trợ miễn phí cho hơn 430 tổ chức với 34.000 thành viên cùng với 250.000 lượt nộp bài mỗi tháng.
📈Hiện nay, với số nộp bài ngày càng tăng của tổ chức (lên tới 74% tổng số lượt nộp toàn hệ thống), để đảm bảo VNOJ có thể duy trì hoạt động một cách bền vững, VNOI sẽ áp dụng quy định mới cho tính năng Tổ chức, thông tin cụ thể như sau:
👉 Từ ngày 15/10/2024, các tổ chức sẽ được cấp miễn phí 3 giờ CPU / tháng cho việc chấm bài, tương đương với khoảng 1080 lượt nộp bài. Thời gian CPU được tính bằng tổng thời gian chạy của mỗi lượt nộp bài. Giới hạn này đã được VNOI cân nhắc kĩ để sao cho trên 80% tổ chức trên VNOJ tiếp tục được sử dụng miễn phí. Để xem lượng sử dụng của tổ chức mình trong các tháng trước, vui lòng xem phần phụ lục bên dưới.
👉 Khi vượt quá giới hạn miễn phí, các tổ chức cần mua thêm giờ CPU chi phí 50.000 VNĐ / 1 giờ. Giờ CPU khi được mua sẽ có giá trị sử dụng vĩnh viễn. Để thanh toán, các thầy cô vui lòng liên hệ với trang VNOI. Bảng phí cụ thể như sau:
📌 Với các trường / trung tâm lớn, VNOI có hỗ trợ dựng website với tên miền riêng & chi phí trọn gói, xin vui lòng tham khảo thông cáo
🤝 Với các tổ chức phi lợi nhuận / các tổ chức ở vùng khó khăn, các thầy cô xin liên hệ page VNOI để được hỗ trợ mức chi phí riêng. Trên đây là Quy định mới đối với tính năng Tổ chức trên hệ thống chấm bài VNOJ của VNOI. Nếu quý thầy cô có bất kỳ câu hỏi hay thắc mắc nào, xin vui lòng liên hệ qua trang VNOI để được hỗ trợ.
PHỤ LỤC: CÁC CÂU HỎI THƯỜNG GẶP
📝 Cách tính tổng số giờ CPU?
👉 Ví dụ 1 bài có 20 bộ test, giới hạn thời gian là 1s mỗi bộ test. Xét 3 ví dụ sau để hiểu rõ hơn về cách tính:
Nếu bài nộp chạy hết 30ms = 0.03s mỗi bộ test => Tốn 0.03*20 = 0.6s CPU
Nếu bài nộp chạy quá thời gian ở tất cả các test => Tốn 1*20 = 20s CPU
Nếu bài làm sai ở test thứ 5 và các test sau sẽ không được chấm (theo luật ICPC) => Bài làm sẽ chỉ tính thời gian 5 test đầu
📝 Tại sao 3 giờ CPU lại tương đương với khoảng 1080 lượt nộp bài?
Theo thống kê dựa trên 10tr lượt nộp bài gần nhất, trung bình một lượt nộp bài sẽ tốn 10s CPU. 3 giờ CPU = 10800 giây ~ 1080 lượt nộp bài
Tuy nhiên, có rất nhiều tổ chức có trung bình chấm bài chỉ mất 4 giây, với các Tổ chức này 3 giờ CPU sẽ tương đương với 2700 lượt nộp bài.
📝 Chuyện gì sẽ xảy ra nếu tổ chức hết hạn mức?
Khi Tổ chức hết hạn mức được cấp, các bài nộp lên sẽ được tạm ngưng chấm cho tới khi gia hạn thành công.
📝 Làm sao để biết số giờ CPU đã sử dụng từng tháng?
Các thầy cô có thể xem lưu lượng chấm bài theo thời gian cũng như hạn mức còn lại của Tổ chức, các thầy cô về Trang chủ (Home) trong Tổ chức, sau đó tìm dòng Organization usage tại bảng Quản lý (ảnh minh họa ở phần comment).
✨ Trong bài viết lần này, VNOI Wiki Project tiếp tục với chuyên đề về các giải thuật cao cấp với tổng Minkowski của các bao lồi. Bài viết là phần hai của chuỗi bài viết về hàm lồi, nối tiếp kĩ thuật “Tham đạo hàm” đã được giới thiệu vào tháng 10/2023. Tổng Minkowski là cách kết hợp hai tập hợp bằng cách lấy tất cả các điểm từ mỗi tập và cộng lại với nhau. Đối với các bao lồi, tổng Minkowski là một bao lồi mới, bao gồm tất cả các tổ hợp cộng của các điểm từ hai bao lồi ban đầu. Nó thường được dùng trong hình học và tối ưu hóa.
Trước khi tìm hiểu về chủ đề trên, độc giả cần nắm vững hàm lồi (convex function) và những khái niệm đã được nhắc đến trong bài Sum-constrained convex optimization
để có thể tiếp thu kiến thức hiệu quả nhất.
Nguyễn Hoàng Vũ - Trường Đại học Công nghệ - ĐHQGHN
Trần Xuân Bách - Đại học Chicago (Mỹ)
😍 Cảm ơn các bạn TNV & Admin VNOI đã biên soạn bài viết vô cùng bổ ích này. Thông qua bài viết, VNOI hy vọng rằng các bạn sẽ có thể vận dụng linh hoạt kỹ thuật trong quá trình luyện tập cũng như trong các kỳ thi sắp đến. Cảm ơn các bạn đã luôn đồng hành cùng VNOI, hẹn gặp lại các bạn trong các bài viết sau nhé!
🔥 Với phong trào lập trình thi đấu ngày càng được quan tâm, đặc biệt là trong giới học sinh, sinh viên và những người yêu thích công nghệ, việc có một nguồn tài liệu hướng dẫn chất lượng và phong phú trở nên cần thiết hơn bao giờ hết. Thấu hiểu điều này, VNOI Wiki vẫn đem đến cho cộng đồng các bài viết chất lượng cao, nội dung xúc tích với nhiều chủ đề phong phú và đa dạng. Giờ đây, VNOI Wiki khoác lên cho mình một giao diện mới với những nội dung đầy đủ về các thuật toán kèm theo độ khó, hứa hẹn đem đến cho các bạn đọc nhiều kiến thức bổ ích và là nguồn tài liệu quý giá để chuẩn bị cho các kỳ thi 💪
📝 VNOI Wiki không chỉ là một trang web chứa tài liệu lập trình, mà còn là một kho tàng kiến thức hữu ích về thuật toán, cấu trúc dữ liệu, và những kỹ năng cần thiết để tham gia các cuộc thi lập trình.
✨ Một số nội dung nổi bật của VNOI Wiki bao gồm:
Nội dung chất lượng và mang tính chuyên môn: Tất cả các bài viết đều được viết và kiểm duyệt bởi những người có kinh nghiệm, đảm bảo tính chính xác và độ tin cậy cao.
Kho tài liệu phong phú và đa dạng: Các bài viết tại đây bao quát nhiều chủ đề quan trọng trong lập trình và thuật toán như cấu trúc dữ liệu (cây, đồ thị, hàng đợi), các thuật toán tìm kiếm và sắp xếp, các kỹ thuật tối ưu hóa, và nhiều hơn nữa.
Kiến thức luôn được cập nhật liên tục: Với sự đóng góp từ cộng đồng, VNOI Wiki luôn được làm mới với những kiến thức và kỹ thuật mới nhất.
😍 VNOI Wiki là một dự án tâm huyết của VNOI. Nếu bạn là một CP-er đang chuẩn bị cho các kỳ thi quan trọng sắp đến thì VNOI Wiki sẽ là một nguồn tài nguyên bạn không thể bỏ qua đấy!
Vòng chung kết VNOI CUP tại TP.HCM đã kết thúc cũng là lúc hành trình VNOI CUP 2024 chính thức khép lại. Để có được 1 chặng đua dài và thành công, đem lại nhiều cung bậc cảm xúc như vậy, BTC xin gửi lời cảm ơn vô cùng sâu sắc tới:
🌟 Về phía đơn vị bảo trợ, BTC xin chân thành gửi lời cảm ơn tới Hội Tin học Việt Nam. Sự bảo trợ của quý Hội đã khẳng định chất lượng, giá trị và uy tín của VNOI CUP, nâng kỳ thi lên một tầm cao mới.
🌟 Về phía đơn vị đăng cai, BTC xin chân thành cảm ơn toàn thể ban giám hiệu, các thầy cô giáo và các bạn sinh viên của Trường ĐH Khoa học tự nhiên, ĐHQG-HCM đã tận tình giúp đỡ, hỗ trợ VNOI hiện thực hoá kỳ thi này.
🌟 Đặc biệt, về phía nhà tài trợ, BTC xin chân thành cảm ơn Nhà tài trợ chính của cả 3 mùa VNOI CUP vừa qua - Công ty cổ phần FPT - tập đoàn công nghệ mang quy mô toàn cầu. Sự ủng hộ từ quý công ty không chỉ mang ý nghĩa vật chất, mà còn góp phần khẳng định rằng, cuộc thi đã gián tiếp đào tạo ra những nhân lực chất lượng cao cho công cuộc chuyển đổi số.
🌟 Cùng với đó, BTC cũng vô cùng vui mừng và trân trọng cảm ơn sự hiện diện của các thầy, các anh là những ngọn cờ đầu, đạt những thành tích cao trong các kỳ thi quốc tế đã ủng hộ tới tham dự Chung kết VNOI CUP 2024.
🌟 Và cũng không thể quên gửi lời cảm ơn các cơ quan báo chí và truyền thông đã mang VNOI CUP tới mọi miền tổ quốc.
❤️ Cuối cùng, xin gửi lời cảm ơn tới tất cả các bạn đã quan tâm theo dõi và ủng hộ VNOI CUP 2024. Hẹn gặp lại tại VNOI CUP 2025!!