on 8:45 p.m. 29 mar, 2021 8

Contest April Fools 2021

Xin chào các bạn!

Như các bạn đã thấy ở tiêu đề, vào ngày 01/04/2021 tới đây contest April Fools đầu tiên của lqdoj sẽ lên sóng. Khác với các contest đến từ đội ngũ của anh ami, contest lần này được thực hiện bởi đội ngũ Anh em Đa cấp A519 với các thành viên zipdang04, malego290704, CarlavierVN và các nhân viên khác.

Nếu như các bạn đã từng tham gia các contest April Fools trên Codeforces rồi thì có lẽ các bạn cũng đã tưởng tượng được phần nào đặc điểm của đề thi lần này. Các bài toán sẽ được đầu tư kĩ lưỡng về cốt truyện và đề bài, sao cho việc các bạn giải bài toán thường sẽ dễ hơn việc tìm xem đề bài yêu cầu làm gì. Chính vì đặc điểm quái dị đó mà contest này sẽ là một contest unrated, tuy nhiên chúng mình mong rằng không vì vậy mà các bạn không hứng thú tham gia, vì chúng mình tin rằng đây sẽ là một trải nghiệm thú vị cho các bạn, đồng thời cũng để các bạn luyện tập trước khi tham gia contest April Fools trên Codeforces vào tối cùng ngày (cũng unrated).

Contest sẽ có độ dài 1.5 giờ tức 90 phút, bắt đầu từ 19h00 đến 20h30 ngày 01/04/2021 để các bạn bắt đầu làm contest của Codeforces lúc 21h35. Vì contest unrated nên nếu bạn vào sau mọi người thì hãy cũng cố gắng để làm bài như bình thường mà không sợ tụt rank. Sẽ không có div 1 hay div 2 mà chỉ có những bài toán lươn lẹo đang chờ đón các bạn. Liệu các bạn - các ưu sờ ưu tú của lqdoj - có dễ dàng bị đánh lừa bởi một Tập đoàn Đa cấp hay không?

Chúng mình cũng xin cảm ơn:
Admin small và các coordinator ami, cuom1999 đã cho phép chúng mình cơ hội để đi lừa các bạn.

Các bạn vì sẽ bị lừa khi tham gia contest

Hãy rèn luyện khả năng tư duy nhạy bén, kĩ năng đọc hiểu sắc sảo cùng một tâm thế thoải mái nhưng cũng rất lạnh lùng để không bị lừa vào ngày Cá tháng Tư này tại Contest April Fools 2021 nhé!]]]]]

on 9:50 p.m. 24 mar, 2021 5

Pre Miền Trung - Tây Nguyên lần 2 - 2021

Chào các bạn, lại là chúng mình, team cuom1999 and fans, hân hạnh mang đến cho các bạn một kì contest siêu hoành tráng. Đây là kì thi thử trước khi bước vào kì thi Olympic Tin học Miền Trung và Tây Nguyên lần 2 - 2021.

Lần này sẽ có 2 kì thi chạy song song.

  • Nếu các bạn đang là học lớp chuyên Tin ở các trường THPT Chuyên, các bạn bắt thuộc phải đăng kí vào kì thi Bảng Chuyên - DIV 1.
  • Nếu các bạn đang là học sinh của các trường THPT không chuyên, các bạn HS cấp THCS, các bạn cần đăng kí Bảng Không chuyên - DIV 2.

Mọi thí sinh đăng kí 2 kì thi cùng lúc sẽ nhận hình phạt.

Kỳ thi thử được tổ chức 2 lần:

Kỳ thi thử lần thứ 1, kì thi Olympic Tin học Miền Trung và Tây Nguyên.

Cả 2 kì thi (DIV 1 & DIV 2) sẽ diễn ra vào lúc 19 giờ 00 phút 00 giây ngày 28 tháng 3 năm 2021. Mỗi kì thi sẽ gồm 4 bài (có 2 bài giao nhau giữa 2 DIV), và các bạn sẽ có 3 giờ để giải quyết.

Kỳ thi thử lần thứ 2, kì thi Olympic Tin học Miền Trung và Tây Nguyên.

Cả 2 kì thi (DIV 1 & DIV 2) sẽ diễn ra vào lúc 19 giờ 00 phút 00 giây ngày 4 tháng 4 năm 2021. Mỗi kì thi sẽ gồm 4 bài (có 2 bài giao nhau giữa 2 DIV), và các bạn sẽ có 3 giờ để giải quyết.

Kì thi lần này đã được coordinator cuom1999, ami kiểm tra chất lượng kĩ càng. Với đội ngũ ra đề và tester cực kì hùng hậu - cuom1999, ami, vinhntndu, jumptozero, PhanDinhKhoi, justys - mình tin tưởng đây sẽ là một kì thi cực kì đáng tham gia. Hi vọng các bạn sẽ tham gia nhiệt tình. Chúc các bạn đạt thứ hạng cao và thu được những kiến thức bổ ích.

Contest được tổ chức tại địa chỉ ĐH VKU với hệ thống server siêu mạnh, không sợ bị lag

on 9:02 p.m. 7 mar, 2021 8

Orange Ami Vol.2 Solution

Rất cảm ơn các bạn đã tham gia contest, dưới đây là solution của các bài tập.

Bài A div 2

$|C - A| = |B - C| => A = B $ hoặc C = (A + B) / 2

Vậy nếu A = B hoặc (A + B) là số chẵn thì sẽ tồn tại C thõa mãn điều kiện.

Bài B div 2

X chính là độ dài của xâu Y. Trường hợp đặc biệt duy nhất là Y = 0. Khi đó, đáp án là 0.

Bài C div 2

Bài này cách của mình chỉ là duyệt các giá trị của x từ 1 đến 10000 và tính y. Nếu tồn tại y là số nguyên dương thì (x, y) chính là 1 nghiệm của phương trình. Ngoài ra vẫn còn 1 cách sử dụng "Giải thuật Eculid mở rộng" nhưng mình sẽ không đề cập ở đây mà để các bạn tìm hiểu.

Bài A div 1

Bài này rất đơn giản. Đặt mn là giá trị phần tử nhỏ nhất trong A. Ta xét 2 trường hợp

  • Nếu k ≥ mn in ra 0.
  • Nếu k ≤ mn, ta sẽ trừ mn đi k và tính giá trị của biểu thức như thường.

Bài B div 1

Bài này có thể quy về như sau: hãy đổi chỗ 2 phần tử i và j để dãy đạt được có thứ tự từ điển lớn nhất. Có thể giải như sau, tìm vị trí i gần nhất mà A_i ≠ n - i + 1. Và đổi chỗ A_i với A_j mà A_j = n - i + 1.

Bonus: Hãy giải bài này với n = 100000 và biểu thức là mũ cơ số 2.

Bài C div 1

Bài này cực kì đơn giản. Hãy định nghĩa dp[i] là kết quả bài toán nếu chúng ta chỉ xét i số đầu.

Dễ dàng làm được thuật O(n^2) bằng công thức truy hồi sau:

dp[i] = dp[i-1] + ... + dp[i-x] với các số a[i], a[i-1] , ... a[i-x] đều bằng nhau và i - x + 1 ≤ k.

Để đạt được thuật O(n), chúng ta chỉ đơn giản dùng một mảng tổng prefix sum để tính nhanh phần chuyển đổi trạng thái.

Bài D div 1

Chúng ta cần đổi màu một ô để 2 ô trong một query liên thông. Đầu tiên, ta sẽ tìm hết tất cả thành phần liên thông.

Quan sát răng, với mỗi ô, ta chỉ có tối đa 4 cách đổi có ích. Vậy, hãy thử đổi hết 4 cách này và xem xét những thành phần nào đã liên thông với nhau. Có thể lưu những thành phần này trong một map/set và dúng cấu trúc dữ liệu đó để trả lời câu hỏi.

Sẽ có một vài trường hợp đặc biệt, và mình tin các bạn sẽ làm được.

Bài E div 1

Hãy lấy nút 1 làm gốc.

Ý tưởng chính là với mỗi cạnh, hãy xem cạnh này đóng góp vào tổng bao nhiêu lần.

Ta có thể dùng quy hoạch động để giải bài toán này. Gọi dp[u] là số lần cạnh u - (cha của u) đóng góp vào kết quả bài toán. Giả sử, ta đang ở nút u, và đã có kết quả ở các nút con của nó. Hơn nữa, ta cũng có set[u] là tập các nút là con của u. Dùng set này, ta hoàn toàn tính được kết quả thay đổi nếu thêm 1 màu vào set.

Hãy gán kết quả của dp[u] với kết quả của một nút con dp[v] bất kỳ, và gán set[u] = set[v]. Việc còn lại chỉ là mang tất cả các nút con của set[child] mà child != v bỏ vào set[u]. Mỗi lần như thế, ta lại tính được dp[u]. Nhưng độ phức tạp là O(n^2) ?

Để giải quyết, ta sẽ dùng tối ưu small-to-larger merging trick để nhận được độ phức tạp O(nlog(n)log(n)).

Trên đây chỉ là lời giải sơ lược về các bài tập. Nếu các bạn có thắc mắc gì, hãy để lại comment.

UPDATE: Trong quá trình contest, đã có một vài lỗi trong bài Thảo Tác Lớn Nhất. Đề nên là (n+1)^(n-i+1). Ngoài vấn đề đó, hi vọng các bạn đã ít nhiều thưởng thức contest lần này. Một vấn đề nữa, ở bài Trị Tuyệt Đối nhỏ nhất, có một số submission có lẽ đã được 100, tuy nhiên, không hiểu vì lí do gì mà các bạn chỉ được 90. Mình sẽ tiến hành rejudge toàn bộ bài này. Các bạn yên tâm rằng sau khi rejudge, điểm các bạn sẽ không giảm.

on 11:53 a.m. 1 mar, 2021 7

Orange Ami Vol.2

Xin chào các bạn,

Cũng đã một thời gian rồi không có contest nào được ra đề bởi team "ami and fans" nữa. Tuần này, nhân những dịp dưới đây:

  • cuom1999 vừa phát minh ra một con bot AI siêu trí tuệ, tương lai dự kiến thành lập startup tỷ $.
  • PhanDinhKhoi đã đại cáo công thành và lĩnh hội thành công cam codeforces.
  • zipdang04 đã khôi phục phong độ huỷ diệt và vừa có một kì thi codeforces đạt được rating dương.
  • ami đã nước rút trong thời điểm quan trọng và hiện đang là #2 codeforces rating trong các lqdoj-er.

mình sẽ tổ chức một kì thi để ghi nhớ những sự kiện trọng đại trên. Contest sẽ được diễn ra vào lúc 19:00 Chủ Nhật ngày 7/3/2021, và các bạn sẽ có 120 - 135 phút để hoàn thành từ 5 - 6 bài tập phong phú và đa dạng. Contest sẽ được gộp chung 2 div 1 và 2. Contest lần này được ra đề bởi ami dưới sự chỉ đạo của cuom1999. Chắc chắn với sự dày dạn kinh nghiệm của cuom1999 và sự thăng hoa ý tưởng của ami, đề thi lần này chắc chắn được phân bổ độ khó hợp lý để ai tham gia cũng sẽ có cơ hội thể hiện bản thân trên bảng rank.

Trong một vài contest luyện tập kì thi HSG 9 - 12 vừa qua, một số bạn đã bày tỏ thắc mắc liệu contest có tính rating không, và đây chính là cơ hội của các bạn để thực hiện mục tiêu mình mong muốn. Đội ngũ ra đề rất hoan nghênh và sẽ tạo một contest đủ sức để các bạn luyện tập cho kì thi sắp đến (hi vọng kì thi diễn ra sau contest). Tuyệt vời hơn, lần này các bạn không chỉ có được kiến thức mà còn sẽ được rating, quả đúng là một công đôi việc, một phát trúng hai đích, nhất tiễn hạ song điêu.

Để hướng đến một môi trường contest lành mạnh và chuyên nghiệp, editorial đã được chuẩn bị và sẽ được đăng trong vòng 5 phút sau khi contest kết thúc.

Cuối cùng, mình xin cảm ơn

  • ami đã ra đề cho kì thi.
  • cuom1999 đã không reject một bài tập nào.
  • Admin Small đã pr cho contest và đồng sáng lập trang lqdoj.
  • Tất cả các bạn vì sẽ tham gia kì thi của mình.

UPDATE: Cảm ơn PhanDinhKhoi đã góp một số bài cho kì thi.

UPDATE: Hiện tại, contest vẫn sẽ diễn ra như kế hoạch ban đầu. Tuy nhiên, nếu có sự cố về kỹ thuật, contest có thể sẽ được dời lại.

UPDATE: Nhận thấy có quá nhiều bài tập hay và một div là không đủ để thưởng thức, contest đã được chia là 2 div. Div 2 cho các bạn có rating ít hơn và div 1 dành cho các bạn có rating từ 1500 trở lên.

UPDATE: Các bạn sẽ có 120 phút để hoàn thành 5 bài tập ở div 1 và 6 bài tập ở div 2.

on 12:00 a.m. 12 feb, 2021 3

HAPPY NEW YEAR - 2021

Chúc các em năm mới nhiều niềm vui và may mắn nhé!

on 9:44 a.m. 9 feb, 2021 0

Summay NAP Champion Contest

Summary NAP Champion Contest

Vậy là contest chúc mừng top 1 texas của bộ đôi admin (amicuom1999)và tết nguyên đán cũng đã kết thúc, và hôm nay mình cũng như đội ngủ admin cảm thấy rất vui và sung sướng vì đã có rất nhiều bạn đã bỏ những thời gian vàng bạc quý báu trong những ngày cận tết để tham gia contest, mình (cùng toàn thể BQT) rất hoan nghênh tinh thần này của các bạn.

Và để các bạn không chờ đợi lâu, mình xin đi thẳng vào diễn biến của contest như sau:

Kì thi đã kết thúc thành công tốt đẹp với nhiều bài toán được giải quyết , trong đó có 5 bạn giải quyết được 5-6(+) và rất nhiều bạn giải được 4+ bài. Điều này cho thấy được phong độ ổn định và có sự tiến bộ nhất định trong quá trình ôn luyện của các bạn , vì đề này mình (cùng BQT) được đánh giá là không đơn giản.
Tiếp theo mình xin đi vào chi tiết cụ thể từng bài để các bạn có được cái nhìn tổng quát về contest như sau:

Đối với bài 1, 2, 3: Ba bài này khá là cơ bản. Riêng bài 2 có vẻ hơi khó nghĩ một tí.

Đối với bài 4: Bài này khó hơn ba bài trước nhưng tiếc là bộ test hơi yếu.

Đối với bài 5: Đây là một bài toán đếm khá hay, để ăn được 40% test có lẻ không quá khó , nhưng để được ăn được 60% test cuối, chúng ta phải dùng đến kĩ thuật đếm bao hàm - loại trừ hoặc tổ hợp.

Đối với bài 6: Đây là một bài mình nghĩ là khó, nhưng lại có nhiều bạn làm được (mình chúc mừng các bạn), vì bài này liên quan đến kĩ thuật bitmask, chúng ta có thể viết tay ra giấy để thấy được quy luật hay của bài này.

Đối với bài 7: Lời đầu tiên mình (cùng BQT) xin lỗi các bạn vì có một chút kĩ thuật liên quan đến checker (nhưng điều này không ảnh hưởng gì nhiều đến điểm số của các bạn, nên các bạn có thể yên tâm và điểm số của các bạn đã được update sau khi rejudge). Tiếp theo là ý tưởng của bài này, đây là bài không thực sự quá khó như các bạn nghĩ, chỉ thuần là đánh dấu những vị trí cần hoán đổi + sắp xếp kĩ thuật một chút, nhưng có lẻ vì nó năm ở cuối (tức là thời gian để làm không được nhiều ) nên chưa có bạn nào AC, và mình hi vọng sẽ có nhiều AC sau contest.

Cuối cùng, mình xin chúc mừng 5 bạn có điểm số cao nhất trong contest này:

Rank User Điểm Thời gian
1 Monarchuwu 610 05:51:34
2 MewnianO21 580 07:09:20
3 ldn694 540 04:54:10
4 zipdang04 540 06:05:39
5 omlord 500 02:22:03

Trong cuộc thi nào cũng vậy, cũng sẽ có người rating tăng và có người rating giảm, nhưng mình hy vọng rằng, những ai được tăng rating thì tiếp tục giữ mãi phong độ và những bạn bị rating giảm lấy đó làm động lực để phấn đấu hơn nữa trong tương lai, điều cốt lõi là sau mỗi contest mỗi người sẽ tự nghiệm lại mình còn thiếu sót chỗ nào để bổ sung, và có nhiều điều tốt nào để phát huy. :))

Và một điều đặc biệt không thể không nhắc tới đó là mình xin chân thành cảm ơn BQT đã giàu lòng nhiệt huyết, không quãng ngày đêm để phục hồi trang web, và chỉ đạo sát sao để chúng ta có được contest ngày hôm nay (Các bạn hãy cho BQT chúng ta một tràng vỗ tay thật to nào … Xin cảm ơn các bạn rất nhiều :)) )
Thôi ngày tết cũng đang cận kề, mình xin chúc các bạn cùng toàn thể BQT dồi dào sức khoẻ, năm mới gặp nhiều niềm vui và sang năm code ghê hơn năm ngoái. Đặc biệt nhớ tuân thủ quy tắc 5K của bộ y tế để chung tay đẩy lùi Covid nhé !

Thân ái và Xin Chào Các bạn !

on 6:17 p.m. 3 feb, 2021 1

NAP Champion Contest

Chào các bạn,

Cuối cùng website lqdoj cũng tạm thời hoạt động ổn định trở lại. Trong khoảng thời gian vừa qua, amicuom1999 đã thành công khẳng định vị trí bá đạo nhất Texas bằng top 1 một kì thi NAP. Kết quả có thể xem ở đây : nap.

Cùng với thành tích đó, tụi mình sẽ đem đến cho các bạn một kì thi thật ý nghĩa. Kì thi sẽ được ?diễn ra vào ngày đầu tiên của kì nghỉ Tết nguyên đán 2021, tức vào ngày 8/2/2021 lúc 19:00. Kì thi sẽ có 2 div. Div 2 dành cho những bạn có rating dưới 1500 (0 - 1499). Và div 1 dành cho những bạn có rating từ 1500 trờ lên (≥ 1500). Các bạn sẽ có 120 đến 150 phút để giải quyết 5-6 bài tập trong mỗi div.

Kì thi sẽ được ra đề bởi jumptozero (A.K.A quay đầu là bờ), amicuom1999. Kì thi sẽ được chỉ đạo bởi ami , cuom1999 và <s> CaiWinDao</s>. Đề thi lần này chắc chắc sẽ làm hài lòng tất cả các bạn.

Cuối cùng, mình xin cảm ơn:

  • jumptozero vì đã góp đề bài cho kì thi.

  • cuom1999 vì kĩ năng gánh team siêu việt.

  • ami vì đã là một coordinator tài năng.

  • admin Small vì đã có công rất lớn trong việc giúp lqdoj hoạt động trở lại.

  • Tất cả các bạn vì sẽ tham gia kì thi này.

Xin mời các bạn cùng tham gia, và hi vọng các bạn sẽ có những giây phút thư giãn thoải mái sau khi <s> ăn hành</s> đè bẹp 2 kì thi trước đó của codeforces.

UPDATE : Các bạn sẽ có 135 phút để hoàn thành 5 bài tập ở mỗi div.

UPDATE : Kì thi sẽ là kết hợp của 2 div. Tất cả các bạn tham gia sẽ được tính rating.

on 9:26 p.m. 10 jan, 2021 2

Summary New Season Contest

Summary New Season contest

Cuối cùng 2h15 bứt tóc, vò đầu suy nghĩ cũng đã trôi qua, chắc hẳn ai trong mỗi chúng ta cũng thấy tiếc nuối , giá như cho mình thêm 15 phút nữa thì mình đã AC bài xyz rồi, giá như cho mình thêm 1p nữa để sub phát cuối thì hay biết mấy, … sẽ còn nhiều cái giá như nữa …

Nhưng không sao, điều quan trọng là mình đã nổ lực hết sức để hoàn thành contest và qua đó mỗi người sẽ tự rút cho mình những kinh nghiệm quý báu, làm hành trang cho con đường tương lai sau này !!!

Và dưới đây là đôi lời tóm tắt về contest vừa qua :

Nhìn chung đề khá nhẹ nhàng, mới 1 tiếng đầu mà đã có vài bạn làm được 6/7 bài - điều đó cho thấy được phong độ của các bạn div 1 khá ổn và mình mong các bạn phát huy điều tốt đẹp này mãi về sau nhé !!!
Tiếp theo mình xin điểm sơ qua vài bài một chút như sau:
Hai bài đầu nhẹ nhàng, tình cảm pha trộn một chút mẹo có lẻ đã làm khó một số bạn, nhưng điều đó dường như có vẻ không ảnh hưởng lắm, vì đã có một loạt AC ngay sau đó

Đối với bài 3, là một bài cấu trúc dữ liệu cơ bản, chỉ cần nghĩ một chút là có thể làm được !!

Đối với bài 4, là bài kiểm tra số nguyên tố cơ bản, và dễ dàng đối với những bạn đã biết qua sàng nguyên tố - Một thuật toán kinh điển

Đối với bài 5, Ôi no, bài này mà giải ra thì thôi rồi, các bạn sẽ “giá như” nhiều lắm :))).

Đối với bài 6: Một bài dp kinh điển được ẩn sau đề bài đơn giản: Có bao nhiêu số có n chữ số mà có tổng bằng m. (Và đây chính là bài toán chia kẹo Euler - Một bài tổ hợp kinh điển)

Đối với bài 7: Một bài “đỉnh kout” mà anh Định đã level up từ bài 5 - Anh Định một lần nữa lại khẳng định được vai trò to lớn của mình trong khâu chỉ đạo :))). Và qua bài 7 này, một phương pháp mới (với những bạn chưa biết) mà các bạn có thể áp dụng cho cả bài 5 sẽ được giới thiệu đến mọi người - Điều này mình sẽ để dành cho anh Định trong phần solution !!!

Vâng, tóm lại contest này chỉ có bấy nhiêu, nhưng hi vọng sẽ đem được gì đó mới mẻ nhưng không kém phần cổ điển đến với tất cả mọi người trong và ngoài contest !!

Xin chúc mừng 5 bạn có số điểm cao nhất, và đặc biệt chúc mừng anhkha2003 đã giải trọn vẹn 7 bài

Rank User Điểm Thời gian
1 anhkha2003 700 04:51:15
2 zipdang04 600 02:30:07
3 I_Love_You_KH 600 07:10:30
4 clonehere 540 03:42:53
5 thang 540 06:03:09

Thôi, bài cũng đã dài, vừa bước qua năm mới, mình xin chúc các bạn gặp nhiều may mắn, học càng ngày càng giỏi, code càng ngay càng nhanh và chính xác, nghĩ bài nào AC bài đó, code bài nào nobug bài đó , năng lực nghĩ code ngày càng level uppppp!!!

Lời cuối cùng, mình xin chân thành cảm ơn Ban quản trị đã ngày đêm trăn trở, lăn mình , chỉ đạo sát sao để chúng mình có được contest tuyệt vời này !!! (Các bạn hãy cho BQT một tràng pháo tay nào !!!..... Xin cảm ơn các bạn !!)

P/s: Nếu contest có gì sai sót, mong các bạn lượng thứ bỏ qua và chân thành góp ý để LQDOJ năm mới ngày càng lớn mạnh và phát triển nhé !!.

Xin chào các bạn và chúc các bạn có một chủ nhật vui vẻ !!!

on 9:38 p.m. 7 jan, 2021 7

New Season Contest

Chào các bạn.

Lại là ami đây. Sau kì contest div 2 khá thành công về mặt kiểm duyệt lẫn phân bố đề bài, hôm nay, mình xin trân trọng thông báo một kì contest khác để làm thoả mãn những đam mê rực cháy của các bạn. Các bạn lo sợ sắp đến tết nguyên đán rồi nhưng vẫn chưa có người yêu ? Các bạn chán nản vì mùa đông rất lạnh nhưng gấu bông không đủ ấm để ôm ? Các bạn đang cần một ai đó cùng giúp các bạn đi qua mùa đông lạnh lẽo này ? Vậy thì hãy đến với "New Season Contest" của lqdoj ngay và luôn nào. Contest này sẽ không giúp các bạn giải quyết những vấn đề nêu trên đâu, nhưng làm contest sẽ rất tốt cho các bạn.

Contest lần này sẽ diễn ra vào lúc 19:00 10/1/2021. Kì thi sẽ do jumptozero a.k.a "Quay trở về số 0, con tim ngừng đập bên my boo" (LyLy - Lời Đường Mật). Kì thi lần này sẽ do amicuom1999, <s>CaiWinDao</s> chỉ đạo. Kì thi hứa hẹn sẽ mang đến cho các bạn cảm giác ấm áp mà không crush hay người yêu nào có thể đem lại cho các bạn. Xin mời các bạn tham gia và xin chúc tất cả các bạn đạt kết quả tốt trong kì thi.

UPDATE: Kì thi sẽ có 2 div, div 1 dành cho các bạn có rating từ 1600 trở lên (bao gồm cá 1600) và div 2 dành cho các bạn có rating dưới 1500 (bắt đầu từ 1599 trở xuống).

UPDATE: Các bạn sẽ có từ 120 đến 150 phút để hoàn thành xuất sắc kì thi.

UPDATE: Vì một số sự cố, đề thi đã được đánh giá lại chỉ dành cho div 2 (có rating không quá 1600). Các bạn div 1 vẫn có thể tham gia không chính thức.

on 9:47 p.m. 3 jan, 2021 2

Summary Happy New Year Contest

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^zx + 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!