Em đang làm bài QBSEQ (nguồn: http://vn.spoj.com/problems/QBSEQ), không biết sao máy chấm báo sai.

Code của em: http://ideone.com/XIIila

Em làm quy hoạch động, dùng mảng 2 chiều C[i,j] để lưu giữ số lượng phần tử được chọn từ A[1] đến A[j] chia k dư j.

Mong được mọi người giúp đỡ. 

Bạn có thể tham khảo thuật toán + code tại: http://yeulaptrinh.pw/110/qbseq-spoj/

Trả lời vodanhnam
  Hiện bài gốc

Cảm ơn bạn, nhưng mình muốn biết tại sao mình sai.

 

Trả lời thongnguyen050999
  Hiện bài gốc

Mình đã đọc bài của thầy Hoàng (cách 2) và sửa lại, mà không hiểu test bị gì ấy, làm y như thầy, test trên máy đúng mà khi chấm thì cứ báo sai. (Code của mình: http://ideone.com/aWSKhU)

Mình lấy lớp i biểu thị số phần tử chia k dư i, rồi dùng mảng F[i,t] biểu thị số lượng phần tử được chọn trong các lớp, 0,1, 2,..., i để có tổng chia k dư t, và trace[i,t] là số phần tử được chọn trong lớp i. Cuối cùng mình xuất kết quả F[k-1,0].