Xin chào các bạn!
Team VNOI xin được thông báo về sự hợp tác giữa VNOJ và Free Contest.
Free Contest từ lâu đã được duy trì thường xuyên nhằm tạo ra một môi
trường luyện tập cho các bạn học sinh, sinh viên yêu thích lập trình
thi đấu trên cả nước. Chính vì vậy, nguồn bài tập của Free Contest
cũng vô cùng đa dạng và phù hợp dành cho việc luyện tập, ngay cả sau
khi kì thi đã kết thúc. Mặc dù vậy, hiện nay việc làm lại bài tập từ
những kì thi đã qua vẫn còn những hạn chế, yêu cầu bạn phải download
toàn bộ bộ test về máy tính cá nhân. Vì thế, sự hợp tác giữa Free
Contest và VNOJ sẽ giúp bạn giải quyết vấn đề này. Từ nay, đề bài và
bộ test của những kì thi đã kết thúc của Free Contest sẽ được đăng
trực tiếp lên VNOJ để thuận tiện cho việc luyện tập. Chúng mình cũng
đã đăng hầu hết các contest cũ của Free Contest lên VNOJ.
Hiện nay, các bạn đã có thể tìm thấy những bài tập này trên VNOJ tại
đây, hoặc các bạn có
thể làm bài theo contest tại: đây.
Vì có thể vẫn còn nhiều sai sót trong lúc chuyển đề bài và bộ test của Free
Contest lên VNOJ, các bạn hãy giúp chúng mình báo cáo lỗi để sự cố được khắc
phục nhanh nhất nhé! Các bạn có thể tìm thấy nút báo cáo này ở phần cuối đề
bài của từng bài tập.
Team Dev VNOJ xin gửi tới các bạn tổng quan các cập nhật mới của VNOJ trong
giai đoạn tháng 5 - 6 vừa rồi. Các cập nhật lần này chủ yếu hướng tới việc
cải thiện trải nghiệm của người dùng, đồng thời cũng sửa lại những lỗi còn
tồn tại trong OJ.
1. Hiển thị clarification ở trang contest thay vì homepage
Việc phải quay trở lại homepage để xem clarification trong quá trình làm
contest có thể gây khó khăn cho một số bạn. Vì vậy, clarification giờ đây sẽ
được chuyển vào trong chính trang contest để tạo sự thuận tiện cho các bạn
trong quá trình tham gia thi cũng như luyện tập.
2. Các cập nhật liên quan tới ticket
VNOJ rất vui khi trong thời gian qua, đã có khá nhiều bạn sử dụng tính năng mở
ticket để báo lỗi cũng như góp ý về OJ. Vì vậy, VNOJ đã bổ sung một số tính năng
nhằm giúp các bạn có thể sự dụng ticket linh hoạt hơn:
Các ticket được mở giờ đây sẽ hiện ở đầu homepage. Điều này sẽ tạo thuận lợi
cho nguời dùng, khi giờ đây ta có thể truy cập tới ticket của mình nhanh hơn để
nhận phản hồi từ phía admin.
Ticket giờ đây có thể mở mà không cần liên kết trực tiếp với bài tập. Thay vì
chỉ có thể mở ticket từ bài tập, giờ đây ticket có thể mở tự do, với yêu cầu
phải có url kèm theo. Người dùng giờ đây có quyền tự do đóng góp bất cứ nơi nào
trên OJ, giúp tăng tính tương tác giữa người dùng và dev trong quá trình trải
nghiệm.
3. Bổ sung các công cụ hỗ trợ admin/staff
Việc quản lý đơn thuần có phần phức tạp và thiếu chuyên nghiệp, vì vậy các admin
giờ đây sẽ có những công cụ hữu ích nhằm hỗ trợ quá trình quản lý, phát triển OJ:
Sử dụng discord làm phương thức liên lạc thay cho email admin. Việc sử dụng email
admin gây ra một số trở ngại nhất định trong việc tiếp nhận phản hồi từ người dùng.
Chính vì vậy, VNOJ sẽ chuyển qua sử dụng Discord để lắng nghe phản hồi của các bạn.
Thêm một trang thống kê submission giúp admin có thể nắm được mật độ cũng như tỉ
lệ submission trong ngày.
Hỗ trợ Discord Webhook để cập nhật comment và ticket mới lên Discord.
4. Một số cập nhật nhỏ:
Judge được bổ sung precompiled-header cho testlib và bits/stdc++.h.
Judge sẽ hiển thị chi tiết hơn nếu submission bị CE do compiler output quá nhiều.
Thông tin hiển thị khi đăng nhập lỗi sẽ chi tiết hơn.
Điểm của submission được hiển thị chính xác hơn nếu là số thập phân.
Nhằm giúp các bạn đạt hiệu quả tốt hơn trong quá trình làm bài, VNOJ đã cập nhật
lời giải cho một số bài tập. Cụ thể, một số bài có mức điểm ~\leq 0.57~ sẽ được
thêm lời giải, chủ yếu là code của các pro như Lăng Trung Hiếu, Nguyên Nguyễn flashmt, Phạm Văn Hạnh skyvn97... Các
bạn có thể tìm thấy lời giải ở cột thông tin bên phải của bài tập.
Cạnh đó, chúng mình cũng thêm nội quy của việc bình luận, phát ngôn trên trang web VNOJ, các bạn có thể tham khảo nội quy bình luận
3. Hệ thống tính điểm đóng góp.
Ngoài hệ thống tính điểm làm bài, VNOJ đã có thêm hệ thống điểm đóng góp. Các bạn có thể xem điểm đóng góp ở bảng xếp hạng.
Người dùng có thể đạt được điểm đóng góp bằng 2 cách:
Nhận được upvote từ các bình luận, mỗi upvote trong bình luận sẽ nhận được 1 điểm đóng góp.
Báo lỗi đề bài bằng cách "Báo cáo vấn đề" ở phần đề bài, với lần báo cáo mà được admin xem xét là mang tính đóng góp thì bạn sẽ được nhận 5 điểm đóng góp. Để báo cáo vấn đề của một đề bài bất kỳ, bạn có thể nhấn vào nút "Báo cáo vấn đề" ở cuối của đề bài, trước phần bình luận.
4. Hệ thống điểm tổ chức
Mỗi tổ chức sẽ có điểm được tính bằng tổng có trọng số của các người dùng thuộc tổ chức đó.
Cách tính điểm của tổ chức: chọn ra 100 người dùng có điểm cao nhất của tổ chức, gọi điểm của người thứ ~i~ là ~p[i]~, điểm của tổ chức được tính bằng công thức: $$D = \sum_{i=0}^{99} 0.95^i \times p[i]$$
5. Hiện thị top user & top contributor ở trang chủ
Ta sẽ thấy top 5 người có điểm cao nhất và top 5 người có điểm đóng góp cao nhất khi vào trang chủ của VNOJ. Bảng xếp hạng này sẽ được cập mỗi 24 giờ.
6. Hiện thị tên tổ chức của người dùng ở bảng xếp hạng
Tổ chức của người dùng sẽ được hiện cạnh tên của họ trong bảng xếp hạng.
8. Hiển thị các lần tham gia ảo trên bảng xếp hạng của contest
Trước đây bảng xếp hạng chỉ hiển thị những thí sinh tham gia chính thức, từ nay các thí sinh tham gia ảo (virtual) cũng sẽ được hiển thị lên bảng xếp hạng, và được phân biệt với thí sinh tham gia chính thức bằng con số ở cạnh tên. Con số đó biểu thị cho lần tham gia ảo của thí sinh đó.
9. Devlog
Về chi tiết hơn các tính năng cũng như fix bug thì các bạn có thể xem nhật ký dev của bọn mình ở đây: devlog
VNOJ đã thêm tính năng xem danh sách bài nộp của các tổ chức để các trường / tổ chức có thể theo dõi dễ dàng hơn các bài nộp từ trường / tổ chức. Tính năng có thể được tìm thấy tại phần lọc bài nộp:
Nếu bạn muốn trường / tổ chức của bạn trên VNOJ, bạn có thể đăng kí trường / tổ chức tại đây. Hãy xem qua danh sách các trường / tổ chức đã có để tránh bị trùng lặp.
Bạn có thể sửa các tổ chức của bạn bằng tính năng chỉnh sửa hồ sơ / edit profile. Mỗi tài khoản được phép thuộc tối đa 3 tổ chức cùng lúc.
Hệ thống tính điểm làm bài cũ của VNOI (lấy tổng điểm tất cả các bài) "thiên vị" những bạn cày nhiều bài dễ và làm thiệt thòi các bạn khác dành nhiều thời gian nghĩ bài khó. VNOI muốn dùng hệ thống tính điểm mới nhằm khắc phục tình trạng này.
Cách tính điểm
Điểm làm bài của bạn sẽ được tính theo công thức
$$ D + C $$
trong đó:
~ D ~ tượng trưng cho độ khó của các bài bạn làm,
~ C ~ tượng trưng cho độ chăm làm bài của bạn.
Điểm từ độ khó của bài làm được ~ D ~
Hệ thống sẽ lấy tổng điểm có trọng số của ~ 300 ~ bài có điểm cao nhất bạn kiếm được để xét. Bài điểm cao thứ ~i~ sẽ cộng ~0.98514^i \times (\text{điểm bạn kiếm được})~ vào điểm làm bài của bạn.
Nói cách khác, nếu gọi ~ S ~ là danh sách ~ 300 ~ bài có điểm cao nhất bạn kiếm được, sắp xếp theo thứ tự giảm dần, thì bạn sẽ được
VNOJ - VNOI Online Judge là hệ thống online judge 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.
Các bạn có thể nộp bài A cộng B để làm quen với trang web.
Trong quá trình sử dụng, nếu gặp sự cố gì có thể comment tại đây hoặc liên hệ với admin bằng cách:
Các bạn có thể truy cập kênh chat bằng đường dẫn sau: