canuc80k4002·3/30

Chuỗi aab, aba, baa

Nộp bài trên LQDOJ

Bài 40 · Lexicographic DP

Cho ký tự a và B ký tự b, với . Xét mọi chuỗi độ dài chứa đúng số ký tự trên, sắp theo thứ tự từ điển. Cho hợp lệ, hãy in chuỗi thứ .

Input

  • Một dòng chứa ba số nguyên và .

Output

  • In chuỗi đứng ở vị trí .

Constraints

  • .
  • .

Scoring

  • Subtask ( số điểm): .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

2 2 4

Output

baab

Giải thích: Theo thứ tự aabb, abab, abba, baab, baba, bbaa, chuỗi thứ tư là baab.

Lời giải tóm tắt
  • Phân tích: Tiền xử lý hệ số tổ hợp đến 60, chặn an toàn nếu cần.
  • Phân tích: Khi còn A chữ a, B chữ b:
  • Phân tích: nếu A=0 hoặc B=0, phần còn lại đã xác định;
  • Phân tích: nếu đặt a, block có C(A+B-1,A-1) chuỗi;
  • Phân tích: nếu K nằm trong block đó, in a; nếu không, trừ block rồi in b.
  • Phân tích: Lặp đến khi hết ký tự. Giữ K 1-based trong toàn bộ thuật toán để tránh nhầm biên.
  • Tính đúng đắn: Mọi chuỗi bắt đầu bằng a đứng trước mọi chuỗi bắt đầu bằng b. Số chuỗi của block a là số cách chọn vị trí cho A-1 chữ a còn lại. Thuật toán chọn đúng block chứa K và cập nhật thứ tự nội bộ; quy nạp theo A+B chứng minh đáp án đúng.
  • Độ phức tạp: O(A+B) thời gian sau O((A+B)²) tiền xử lý; O((A+B)²) bộ nhớ.