Summary Happy New Year Contest
đã đăng vào 9:47 p.m. 3 Tháng 1, 2021

Lời đầu tiên, bọn mình xin chân thành cảm ơn sự tham gia nhiệt tình cũng như sự thể hiện ấn tượng của các bạn ở contest đầu tiên trong năm 2021. Xin chúc toàn thể mọi người một năm mới đầy thành công và hạnh phúc!

Trước khi tổng kết contest, bọn mình xin phép dành ra một phần bài đăng để "câu like" cho một dự án tâm huyết đã khai sinh ra LQDOJ ngày hôm nay: repository LQDJudge/online-judge trên Github (một mạng xã hội dành cho giới lập trình viên). Bọn mình rất mong repo sẽ có thêm nhiều "star" (tương tự như nút like) để làm động lực tiếp tục duy trì và phát triển những dòng code chất lượng nhất, đem lại cho các bạn một trải nghiệm tốt nhất khi sử dụng trang web. Các bạn có thể lần lượt làm theo các bước sau để tặng star cho repo LQDOJ:

  • Nếu chưa có tài khoản Github, bạn hãy đăng ký ở đây.
  • Truy cập vào repo của LQDOJ tại đây.
  • Bạn nhìn lên góc phải của màn hình sẽ thấy ba nút "Watch / Unwatch," "Star" và "Fork". Click vào nút "Star".

Và đây là tổng kết kỳ thi mở đầu 2021:

Top 5 bạn đạt điểm cao nhất của contest như sau:

Rank User Điểm Thời gian
1 thenymphsofdelphi 700 05:06:48
2 zipdang04 700 07:26:30
3 a520anhlnb 660 07:15:39
4 DKingKV 649.09 06:17:10
5 tanprodium 634.44 07:26:13

Top 5 bạn div 2 đạt điểm cao nhất của contest như sau:

Rank User Điểm Thời gian
1 a520anhlnb 660 07:15:39
2 DKingKV 649.09 06:17:10
3 tanprodium 634.44 07:26:13
4 n6quanlc 605 08:42:32
5 SaisMinhBS 605 09:44:34

Bảng rank chính thức ở đây

Về đề bài, chúng mình đã cố gắng để chuẩn bị một đề bài vừa tầm với các bạn div 2 nhưng cũng có những thử thách nho nhỏ cho các bạn div 1. Tuy vậy, vẫn còn vài điều chưa hoàn hảo như đề bài 3 bị lỗi, độ khó bài 4 khó hơn dự tính và server chat bị lỗi giữa chừng. Cảm ơn các bạn đã thông cảm.

Dưới đây là cụ thể từng bài:

Bài 1: Bài này khá cơ bản. Thử thách khó nhất có lẽ là đọc dữ liệu. Ở đây, cách đơn giản nhất là while (cin >> str). Một cách khác là sử dụng getline.

Bài 2: Bài này tuy khó hơn bài 1 về mặt ý tưởng nhưng lại dễ code hơn. Ý tưởng chính là nhóm 2 số liên \((1 - 2) + (3 - 4) + ...\)

Bài 3: Rất tiếc bài này bị lỗi trong kỳ thi. Hy vọng không ảnh hưởng quá nhiều đến kết quả của các bạn. Ý tưởng chính là tìm số nhỏ nhất \(\geq x\) và chia hết cho \(a\) trong \(O(1)\).

Bài 4: Bài này chỉ có 5 bạn AC trong kỳ thi. Và có vài bạn dùng thật rất khủng như dp. Thuật chuẩn bài này thực ra rất đơn giản. Để ý rằng \(c\) cần biểu diễn dưới dạng \(u^x * o^y * m^z\)\(x + y + z\) nhỏ nhất. \(x, y, z\) thực ra rất nhỏ, không quá \(60\). Các bạn có thể for hết tất cả các bộ \((x, y, z)\) và kiểm tra.

Bài 5: Mình nghĩ bài này khá là khó nghĩ, nhất là ý tưởng thêm c vào đầu hoặc u vào cuối. Tuy nhiên, kết quả cho thấy rất nhiều bạn làm được bài này. Chúc mừng các bạn.

Bonus: Hãy giải bài toán cho string ami thay vì cu. Nếu thay string này bằng một string bất kỳ thì như thế nào?

Bài 6: Bài này là bài khó nhất kỳ thi. Tuy vậy, tụi mình để bài này trước bài 7 vì các sub nhỏ dễ làm hơn và bài này cũng dễ nghĩ hơn. Tuy vậy sub cuối là thử thách thực sự, ngay cả với các bạn div 1. Vì vậy chỉ có 2 bạn AC bài này, và cũng là 2 bạn AC cả đề. Chúc mừng thenymphsofdelphizipdang04.

Bonus: bài này được tác giả anhkha2003 lấy cảm hứng từ một trò chơi thật. Nếu mod 100 thay vì mod 10 thì như thế nào?

Bài 7: Bài này cũng được lấy ý tưởng từ các bài tập multitest như story trong bài. Nhận xét chính của bài là khoảng cách giữa số lớn nhất và các số còn lại càng lớn càng tốt. Các bạn có thể thử với 2 số và nhận ra điều này. Sub cuối có truy vấn và cũng là cơ hội để các bạn làm quen với dạng bài này. Tuy vậy có thể làm được với cấu trúc dữ liệu multiset để lưu và truy vấn số lớn nhất trong \(O(\log n)\). Mình thấy vài bạn code segment tree khá là khủng :))

Bonus: Nếu tìm min thay vì tìm max thì như thế nào?

Cuối cùng, chúng mình rất vui vì các bạn đã tham gia contest lần này. "Vạn sự khởi đầu nan", tuy có một chút trục trặc ngoài dự kiến nhưng contest đã kết thúc thành công. Hy vọng các bạn có một năm 2021 tràn đầy niềm vui và ngày càng lập trình giỏi hơn. Lời giải cũng như chứng minh chi tiết cho mỗi bài sẽ được cập nhật nhanh nhất có thể.

Một lần nữa, ban quản trị LQDOJ trân trọng cảm ơn sự ủng hộ của các bạn!


Bình luận


  • 0
    hhoangcpascal    2:49 p.m. 10 Tháng 1, 2021

    Bài 6: Kể cả khi mod \(\leq 10^5\) thì vẫn làm được.


    • 0
      Lê_Gia_Khánh    9:18 p.m. 7 Tháng 1, 2021

      hóng sub cuối bài 6 :))