trang chủ / đề bài / colorbricks / lời giải

Gạch màu

Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Tác giả: huunguyenhuunguyen

Lời giải: Gạch màu

Hướng tiếp cận

Sử dụng tổ hợp để đếm số cách chọn vị trí và màu.

Nhận xét quan trọng

  1. Cần chọn đúng k vị trí trong n−1 vị trí (vị trí 2 đến n) để có màu khác bên trái.
  2. Viên gạch đầu tiên có m cách chọn màu.
  3. Mỗi vị trí "khác màu" có m−1 cách chọn (khác màu bên trái).
  4. Các vị trí "cùng màu" chỉ có 1 cách (giống màu bên trái).

Thuật toán

Áp dụng quy tắc nhân:

  • Chọn k vị trí trong n−1 vị trí: C(n−1,k) cách
  • Viên đầu tiên: m cách
  • k vị trí khác màu: mỗi vị trí có m−1 cách

Công thức: C(n−1,k)×m×(m−1)kmod998244353

Độ phức tạp

  • Thời gian: O(n) tiền xử lý giai thừa, O(logk) tính lũy thừa
  • Bộ nhớ: O(n)

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0