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.
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. VNOJ là một hệ thống chấm bài tự động hoàn toàn độc lập của VNOI và là bước tiến tiếp theo trong quá trình di dời và nâng cấp VOJ.
Hiện nay, hệ thống VNOJ đã đưa trở lại kho bài tập rộng lớn từ hệ thống cũ VOJ (bao gồm các đề thi Học Sinh Giỏi Quốc Gia, ACM-ICPC, ... qua các năm). Kho bài tập này sẽ được cập nhật thường xuyên với những bài tập mới từ các kì thi, trong đó có những kì thi luyện tập trên VNOJ và những đề thi chính thức của VNOI.
Nếu đây là lần đầu tiên tham gia VNOJ, hãy đăng ký tài khoản. Sau đó, thử bài tập A cộng B.
🔥 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).
✨ 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é!
🔥 Cũng đã gần nửa năm trôi qua, chắc hẳn rằng các CP-ers và đặc biệt là các bạn “newbie” đang rất hóng một kỳ Bedao Mini Contest diễn ra phải không nào. Chính vì vậy, team Daor sẽ mang Mini Contest 25 đến với các bạn vào cuối tuần này. Mini Contest được biết đến là một sân chơi bổ ích cho các bạn mới làm quen với lập trình thi đấu. Với đội ngũ ra đề dày dặn kinh nghiệm của Bedao, contest lần này hứa hẹn sẽ vô cùng hấp dẫn.
📌 Bedao Mini Contest gồm 5 bài tập và diễn ra trong 2 tiếng 30 phút, kỳ thi được tổ chức theo thể thức OI, tức số điểm của bạn được tính bằng tổng điểm các test bạn đúng trong bài. Vì vậy hãy tìm cho bản thân một chiến thuật làm bài thật hợp lý để có thể giành được điểm số cao nhất trong thời gian cho phép nhé!
⚠️ Lưu ý đến các thí sinh:
Để tạo ra một sân chơi lành mạnh và công bằng, bất cứ hành vi gian lận trong kỳ thi sẽ bị disqualify, tức không tính kết quả làm bài và bị trừ rating, và sẽ bị cấm vĩnh viễn khỏi VNOJ ở lần tiếp theo.
Các trường hợp sử dụng chatGPT, nhiều người tham gia dưới một tài khoản, sử dụng nhiều tài khoản tham gia thi, vv đều bị nghiêm cấm và sẽ bị xem xét cấm vĩnh viễn khỏi VNOJ
Bedao Mini Contest sẽ chỉ tính rating cho các bạn có rating thấp hơn 1600.
🕗 Thời gian: 20h00 – Chủ nhật, 29/9/2024.
🍀 Thông tin:
Server chấm: VNOJ.
Ban ra đề: Bedao.
🍀 Thể lệ:
Contest được tổ chức trên nền tảng làm bài VNOJ (https://oj.vnoi.info/contest/bedao_m25).
Contest chỉ tính rating cho tài khoản VNOJ có rating thấp hơn 1600 khi tham gia contest.
🍀 Hình thức:
Thi trực tuyến.
Thời lượng: 2 tiếng 30 phút.
Số lượng: 5 bài.
🌸 Trao đổi về Bedao tại From VNOI with love: https://discord.gg/QUK2Tgr
🌸 Cảm ơn các bạn đã luôn đồng hành cùng Bedao. Chúc các bạn có những trải nghiệm thú vị ở contest lần này! 😉
👉 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!
✨ 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!!
✨ Chỉ còn chưa đầy 24h nữa thôi, cơ hội cuối cùng để tham dự vòng chung kết VNOI CUP 2024 diễn ra tại TPHCM sẽ kết thúc! Các bạn ứng viên hãy nhanh tay đăng ký tham gia Bảng mở rộng ngay hôm nay để chạm tay đến nhiều món quà ấn tượng tại chặng cuối cùng VNOI CUP 2024 nhé!
✨ Bảng mở rộng Chung kết VNOI CUP 2024
Bảng mở rộng sẽ được tổ chức song song với bảng thi của 24 thí sinh tham gia Chung kết chính thức tại Trường ĐH Khoa học tự nhiên. BTC sẽ cung cấp nước uống và đồ ăn nhẹ cho thí sinh trong quá trình thi.
Bảng thi đấu sẽ có tối đa 30 thí sinh tham dự. Sau khi nhận đơn đăng ký, BTC sẽ chọn ra danh sách thí sinh tham dự (ưu tiên theo thứ hạng tổng điểm 2 vòng loại) và gửi email phản hồi cho thí sinh.
Thí sinh mang theo laptop cá nhân để làm bài.
Chi phí dự thi:
Bảng mở rộng KHÔNG thu phí đăng ký.
Thí sinh tự chủ động chi phí di chuyển, ăn uống và địa điểm lưu trú.
✨ Các thí sinh bảng mở rộng sẽ được nhận giấy chứng nhận và cùng tham gia các hoạt động chung do BTC bố trí.
🙌 Đừng bỏ lỡ cơ hội duy nhất được thi đấu cùng 24 'anh tài' tại Bảng mở rộng của chung kết VNOI CUP 2024 nhé! Hẹn gặp lại bạn vào ngày 01/08 - 04/08 tại thành phố mang tên Bác ✨
🌟 Bạn có đam mê tin học và lập trình? Bạn muốn phát triển kỹ năng của mình trong một môi trường chuyên nghiệp và nhiệt huyết? Đừng bỏ lỡ cơ hội trở thành tình nguyện viên Gen 4 của VNOI!
🔥 Trong suốt hành trình ~16~ năm xây dựng và phát triển, VNOI không chỉ là nơi học tập và rèn luyện kỹ năng tin học mà còn là ngôi nhà chung của những bạn trẻ đam mê và nhiệt huyết. Với sự đóng góp và cống hiến không ngừng nghỉ của các TNV, chúng mình đã đạt được nhiều thành tựu đáng tự hào.
❤️ Nắm rõ những ý nghĩa thiết thực đó, với tinh thần luôn phát triển và nâng cao chất lượng hoạt động, chúng mình đang tìm kiếm những bạn trẻ nhiệt huyết cho lứa tình nguyện viên VNOI - Gen 4, mở ra cơ hội cho những ai muốn trở thành một phần của gia đình VNOI. Hãy cùng VNOI mang lại những giá trị tốt đẹp và lan tỏa tinh thần yêu thích lập trình đến mọi người nhé!
✨ VNOI đang tìm kiếm các bạn TNV vào các vị trí sau:
📝 Hướng dẫn nộp đơn: Điền thông tin vào form đăng ký. Chúng mình sẽ gửi mail kết quả và đăng bài thông báo sau khi duyệt đơn của các bạn!
❤️ VNOI rất mong chờ sự tham gia của các TNV mới, cùng chung tay xây dựng một cộng đồng tin học Việt Nam ngày càng vững mạnh và đoàn kết!
Nếu có bất kỳ thắc mắc nào, đừng ngần ngại gửi tin nhắn về fanpage VNOI để được hỗ trợ. Chúng mình rất háo hức chào đón bạn vào đội ngũ TNV Gen 4 của VNOI!