on 7:00 a.m. 28 nov, 2022 0

CSES - Geometry

9. Geometry | Hình học là một chủ đề tuy không xuất hiện quá phổ biến trong lập trình thi đấu, nhưng một khi xuất hiện thì sẽ khiến ta gặp nhiều trở ngại nếu như không có kiến thức nền tảng. Qua các bài tập này, các bạn sẽ học được cách giải quyết các vấn đề liên quan tới hình học từ cơ bản tới nâng cao, cụ thể:

  • Diện tích có hướng của tam giác
  • Kiểm tra một điểm có nằm trong đa giác hay không
  • Tính diện tích đa giác
  • Định lý Pick
  • Tìm bao lồi
  • \dots

Hy vọng các bạn có thể tiếp thu được thêm nhiều kiến thức qua contest này.

on 11:19 p.m. 23 nov, 2022 1

Kết quả - Cuộc thi Thiết kế logo LQDOJ

Xin chào các bạn,

Cuộc thi Thiết kế logo LQDOJ đã đi đến hồi kết. Sau khi đánh giá và chọn lọc kĩ lưỡng, BTC đã loại ra các bài nộp không hợp lệ và chọn ra được 5 bạn có bài dự thi hợp lệ tốt nhất. Danh sách xếp hạng như sau:

  • Hạng 1: Bùi Anh Duy
  • Hạng 2: Nguyễn Hữu Phúc
  • Hạng 3: Văn Công Nam
  • Hạng 4: Phạm Mạnh Quân
  • Hạng 5: Trần Sĩ Quý

5 bạn này sẽ nhận được 1 áo LQDOJ, và đặc biệt bạn Bùi Anh Duy là người có thiết kế xuất sắc nhất sẽ được thưởng 500k VNĐ.

Những bạn dự thi có tên trên hãy nhanh chóng liên hệ và gửi thông tin thông qua page (https://www.facebook.com/groups/lqdoj.edu.vn) hoặc Nguyễn Đức Thuận (https://www.facebook.com/floweronstone) để chúng mình gửi phần thưởng cho các bạn nhé.

Cảm ơn các bạn vì đã quan tâm và ủng hộ chúng mình trong thời gian qua. Đừng quên theo dõi LQDOJ để không bỏ lỡ những cuộc thi và dự án sắp tới của LQDOJ nhé!

on 3:18 p.m. 31 oct, 2022 9

Thông báo về việc nâng cấp Markdown trong hệ thống

Chào mọi người, hiện tại trang đã được nâng cấp Markdown để phần nội dung của những đề bài và bài viết trông đẹp và xịn hơn . Trong đó PyMdown Extensions được sử dụng làm Markdown mới thay cho Markdown cũ.

Giới thiệu về PyMdown Extensions

PyMdown Extensions là một tập hợp những phần mở rộng (extension) của Python Markdown. Chúng ban đầu được tạo ra để làm cho các bài viết trong đẹp và thú vị hơn. PyMdown Extensions bao gồm một loạt các giải pháp, mặc dù không phải ai cũng cần hết tất cả các phần mở rộng này, nhưng thông thường sẽ có ít nhất một phần mở rộng dành cho tất cả mọi người.

Một số extension thú vị của PyMdown Extensions

Details

Details được dùng để rút gọn nội dung nằm trong tag <details><summary>.

Markdown:

???+ note "Nội dung được mở sẵn"
    Nội dung
    ??? danger "Nội dung lồng vào đang đóng"
        Nội dung khác

Output:

Nội dung được mở sẵn

Nội dung

Nội dung lồng vào đang đóng

Nội dung khác

Emoji

Emoji extension hỗ trợ chèn các emoji thông qua những cái tên ngắn và đơn giản được viết trong dấu hai chấm: :short_name:.

Markdown:

:blush: :heart: :thumbsup:

Output:

Bạn có thể search "emoji in markdown" để tìm tên của emoji mà bạn muốn dùng.

InlineHilite

InlineHilite là một công cụ highlight inlide code được truyền cảm hứng bởi CodeHilite. Cú pháp chèn code được highlight là: :::language mycode hoặc #!language mycode.

Markdown:

Đây là một ví dụ về inline code: `#!cpp std::vector<int> v(n, 0);`

Output:

Đây là một ví dụ về inline code: std::vector<int> v(n, 0);

on 12:00 p.m. 31 oct, 2022 0

CSES - String Algorithms

8. String Algorithms | Các thuật toán trên xâu là một chủ đề xuất hiện rất nhiều trong lập trình thi đấu, từ các bài đơn giản tới nâng cao. Qua các bài tập này, các bạn sẽ học được cách giải quyết các vấn đề liên quan tới xử lý xâu cũng như những thuật toán đặc trưng cho dạng bài này. Contest bao gồm các thuật toán và kiến thức sau:

  • Hash
  • Hàm Z
  • KMP
  • Thuật toán Booth
  • Thuật toán Manacher
  • Suffix automaton
  • Suffix array
  • \dots

Hy vọng các bạn có thể tiếp thu được thêm nhiều kiến thức qua contest này.

on 7:00 p.m. 25 oct, 2022 0

CSES - Mathematics

7. Mathematics | Toán học là một chủ đề cực kỳ phổ biến và quan trọng trong cuộc sống nói chung và lập trình thi đấu nói riêng. Bất kỳ một vấn đề nào ít nhiều đều có sự hiện diện của toán học. Contest bao gồm các thuật toán và kiến thức sau:

  • Sàng nguyên tố
  • Tìm ước chung lớn nhất của hai số
  • Hàm Mobius
  • Phép tính lũy thừa
  • Nghịch đảo modulo
  • Định lý Fermat nhỏ
  • Bao hàm loại trừ
  • Tổ hợp, xác suất
  • Tính giá trị kỳ vọng
  • Euclid mở rộng
  • Đếm số lượng hoán vị khác nhau
  • Đếm số lượng dãy ngoặc đúng
  • Bổ đề Burnside
  • Nhân ma trận
  • Lý thuyết trò chơi
    • Nim game
    • Định lý Sprague-Grundy

Hy vọng các bạn có thể tiếp thu được thêm nhiều kiến thức qua contest này.

on 12:00 a.m. 18 oct, 2022 0

Countdown - Cuộc thi thiết kế logo LQDOJ

Sau gần hai tuần phát động Cuộc thi thiết kế logo LQDOJ, BTC đã nhận được rất nhiều bài nộp của các bạn. Chúng mình rất vui mừng vì sự ủng hộ nhiệt tình này.
Chỉ còn chưa đầy một tuần nữa là sẽ hết hạn nộp bài. Cụ thể deadline là vào 23 giờ 59 phút ngày 23/10/2022. Vì thế nếu bạn có tham gia thi nhưng chưa nộp bài thì hãy tiến vào giai đoạn chỉnh sửa và hoàn thiện cuối cùng để có thể xong sản phẩm trước hạn. Nếu bạn chỉ vừa mới biết về cuộc thi này, mời bạn tìm hiểu thể lệ cuộc thi ở phía dưới và tham gia nếu bạn muốn.

Chúng mình rất mong đợi những logo đẹp từ bạn.

-------

Làm rõ về kích thước của logo:

Chúng mình nhận thấy có một vài logo của các bạn thí sinh có dạng không phải hình vuông (như logo LQDOJ hiện tại), những logo như vậy là không đúng với yêu cầu của cuộc thi. Yêu cầu của cuộc thi là thiết kế logo có bố cục dạng hình vuông (480 x 480 px) và ảnh cũng có kích thước 480 x 480 px. Những bài nộp có kích thước ảnh đúng với yêu cầu nhưng logo có dạng không phải hình vuông (kích thước không đúng yêu cầu) thì cũng được xem là không đúng với yêu cầu.

-------

Thể lệ cuộc thi thiết kế logo LQDOJ:

  • Thời gian diễn ra cuộc thi: 06/10/2022 - 23/10/2022
  • Nội dung:
    • Thiết kế logo từ tên LQDOJ.
    • Logo có kích thước 480 x 480 px (có dạng hình vuông).
    • Bạn có thể tham khảo logo hiện tại của LQDOJ (kích thước logo và kích thước ảnh không đúng với yêu cầu) (https://bit.ly/3Rzx9jV).
    • Trình bày ý nghĩa của thiết kế của mình.
  • Cách thức tham dự:
    • Điền đầy đủ thông tin và gửi thiết kế logo qua đường link đăng ký ở cuối thông báo.
    • Bạn có thể nộp nhiều bài dự thi, mỗi lần như vậy bạn cần điền lại vào form mới những thông tin theo yêu cầu. BTC sẽ chọn ra bài tốt nhất trong số đó để xếp hạng.
  • Cơ cấu giải thưởng:
    • Top 6 bạn có bài nộp được đánh giá cao nhất mỗi bạn sẽ nhận được 1 áo LQDOJ bao xịn.
    • Ngoài ra, người có thiết kế xuất sắc nhất sẽ nhận được 500k.

Bài nộp của các bạn sẽ được các admin của LQDOJ đánh giá và bình chọn một cách nghiêm túc và công tâm nhất.

Chúng mình rất mong các bạn tham gia để đóng góp vào sự thành công của các dự án sau này của LQDOJ. Còn chần chờ gì nữa, đăng ký và gửi tác phẩm của bạn nào!

on 12:00 a.m. 14 oct, 2022 0

CSES - Tree Algorithms

6. Tree Algorithms | Các thuật toán trên cây. Cây là một dạng đồ thị đặc biệt. Với các tính chất độc đáo của nó, nhiều bài toán và thuật toán đã được ra đời. Ngoài ra, đây còn là một dạng tương đối phổ biến trong các kì thi. Các bài tập trong contest này bao gồm một số nội dung như sau:

  • QHĐ trên cây (DFS)
  • Cha chung gần nhất - Lowest common ancestors (LCA)
  • Kĩ thuật trải phẳng cây (Euler tour), kết hợp với một số CTDL
  • (nâng cao) Centroid decomposition, Heavy-light decomposition
  • \dots

Chúc các bạn luyện tập vui vẻ!

on 5:30 p.m. 10 oct, 2022 4

CSES - Range Queries

5. Range Queries | Các bài toàn truy vấn đoạn thường xuyên xuất hiện trong các đề thi lập trình thi đấu. Các bài toán trong contest này đều liên quan tới việc xử lý các truy vấn trên các đoạn con của một mảng cho trước, bao gồm truy vấn chỉnh sửa và truy vấn kết quả.

Một số cấu trúc dữ liệu liên quan tới các bài toán dạng này bao gồm:

  • Segment Tree
  • Binary Indexed Tree
  • Sparse Table
  • và nhiều cấu trúc cũng như kỹ thuật khác...

Mời các bạn cùng LQDOJ học hỏi và giải các bài toán liên quan tới xử lý truy vấn đoạn. Chúc các bạn thành công!

Lưu ý: Contest của chúng tôi là contest không chép code. Quý vị vui lòng không chép code trong contest này. Cảnh báo chép code được lắp đặt khắp khu vực làm bài, kể cả trong nhà vệ sinh. Kính mong quý khách hợp tác!

on 10:00 a.m. 6 oct, 2022 2

Cuộc thi thiết kế logo LQDOJ

Nếu bạn có niềm đam mê với thiết kế và mong muốn thể hiện khả năng của mình, hoặc nếu bạn muốn góp phần cho sự phát triển của cộng đồng LQDOJ đồng thời tìm kiếm cơ hội được sở hữu một chiếc áo LQDOJ thì hãy tham gia cuộc thi thiết kế logo LQDOJ.

Thể lệ cuộc thi thiết kế logo LQDOJ:

  • Thời gian diễn ra cuộc thi: 06/10/2022 - 23/10/2022
  • Nội dung:
    • Thiết kế logo từ tên LQDOJ.
    • Logo có kích thước 480 x 480 px.
    • Bạn có thể tham khảo logo hiện tại của LQDOJ (kích thước không đúng với yêu cầu) (https://bit.ly/3Rzx9jV).
    • Trình bày ý nghĩa của thiết kế của mình.
  • Cách thức tham dự:
    • Điền đầy đủ thông tin và gửi thiết kế logo qua đường link đăng ký ở cuối thông báo.
    • Bạn có thể nộp nhiều bài dự thi, mỗi lần như vậy bạn cần điền lại vào form mới những thông tin theo yêu cầu. BTC sẽ chọn ra bài tốt nhất trong số đó để xếp hạng.
  • Cơ cấu giải thưởng:
    • Top 6 bạn có bài nộp được đánh giá cao nhất mỗi bạn sẽ nhận được 1 áo LQDOJ bao xịn.
    • Ngoài ra, người có thiết kế xuất sắc nhất sẽ nhận được 500k.

Bài nộp của các bạn sẽ được các admin của LQDOJ đánh giá và bình chọn một cách nghiêm túc và công tâm nhất.

Chúng mình rất mong các bạn tham gia để đóng góp vào sự thành công của các dự án sau này của LQDOJ. Còn chần chờ gì nữa, đăng ký và gửi tác phẩm của bạn nào!

on 3:00 p.m. 2 oct, 2022 1

Về tính năng tạo group

Chào các bạn!

Hiện nay tất cả các user đều đã có thể tự tạo group của riêng mình. Group trên LQDOJ có công dụng tương tự như group trên Codeforces, giúp các bạn có thể tạo contest sử dụng các bài có sẵn trên LQDOJ, giúp ích rất nhiều trong quá trình luyện tập trên LQDOJ. Bài viết này sẽ hướng dẫn các bạn cách tạo cũng như sử dụng tính năng group trên LQDOJ.

Để tạo group, các bạn cần thực hiện các bước sau:

  • Bước 1: Ở giao diện chính của LQDOJ, bấm vào nút Nhóm

  • Bước 2: Chọn Tạo nhóm

  • Bước 3: Điền lần lượt Tiêu đề tổ chức, Tên ngắn đường dẫn, Tên ngắnMô tả tổ chức

  • Bước 4: Tick vào ô Tổ chức mở? nếu muốn cho phép bất kỳ ai có thể tham gia tổ chức, ngược lại thì muốn được tham gia tổ chức phải được duyệt. Sau đó bấm Lưu và hoàn tất việc tạo group.

Sau khi tạo group, các bạn có thể chỉnh sửa thông tin của group, thêm hoặc xóa các thành viên, thêm bài đăng trong group và tổ chức các contest trong group.

Để tạo contest trong group, các bạn làm theo các bước sau:

  • Bước 1: Ở giao diện chính của group, chọn Thêm kỳ thi

  • Bước 2: Điền lần lượt ID kỳ thi, Tên kỳ thi, Thời gian bắt đầu, Thời gian kết thúcBài tập. Sau đó bấm Lưu

  • Bước 3: Bạn có thể tìm thấy các contest tạo trong group trong tab Kỳ thi, bấm vào Chỉnh sửa để chỉnh sửa contest

  • Bước 4: Lưu ý phải tick vào Công khai thì contest mới được hiển thị với các thành viên trong group.

Khi tạo và sử dụng group các bạn cần tuân theo các quy định sau:

  • Đặt tên group phải tuân theo thuần phong mỹ tục Việt Nam, tránh sử dụng các ngôn từ không phù hợp, phản cảm.
  • Tuyệt đối không được sao chép code.

Các trường hợp vi phạm sẽ bị ban khỏi hệ thống LQDOJ, vì vậy hãy tuân thủ chặt chẽ các quy định đã nêu trên.