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

Trò chơi đồng dư

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

Hướng tiếp cận

Bài toán đặt ra điều kiện đủ để xác định xmodk thông qua tập các giá trị xmodci. Đây là ứng dụng trực tiếp của định lý số dư Trung Hoa (CRT).

Nhận xét quan trọng

  1. Biết xmodci tương đương với biết xmodpa với mọi luỹ thừa nguyên tố pa∣ci. Đây chính là phát biểu CRT.
  2. Do đó tập tri thức của Arya là tập các luỹ thừa nguyên tố pa mà pa∣ci với một i nào đó. Nói cách khác, Arya biết xmodm với mọi m là ước của lcmigcd(ci,k).
  3. Để xác định xmodk, ta cần lcmigcd(ci,k)=k. Tức là, với mỗi luỹ thừa nguyên tố pa chia hết k, phải tồn tại ci sao cho pa∣ci.

Thuật toán

  1. Khởi tạo L=1.
  2. Với mỗi ci:
    • Tính gi=gcd(ci,k).
    • Cập nhật L←lcm(L,gi).
  3. Nếu L=k, in Yes; ngược lại in No.

Giá trị L luôn là ước của k (vì là lcm của các ước của k), nên không vượt quá k — không có lo ngại về tràn số.

Độ phức tạp

  • Thời gian: O(nlogk) cho các phép tính gcd.
  • Bộ nhớ: O(1) ngoài đầu vào.

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