Mình hiện đang không có ý tưởng bài này! Nhờ mọi người cùng thảo luận
Mình hiện đang không có ý tưởng bài này! Nhờ mọi người cùng thảo luận
Bài này bạn chú ý thứ tự thực hiện các phép biến đổi có thể hoán vị cho nhau và số lượng phép biến đổi tối đa của mỗi loại là được.
Loại 1 thực hiện không quá O(K) lần
Loại 2 thực hiện không quá O(n) lần
Loại 3 tính được trong O(n)
Từ đó có thuật O(K * n * n) ăn được 60 test.
Để ăn full thì bạn giới hạn số lần thực hiện loại 1 xuống O(n) thay vì O(K).
http://ideone.com/YRRAYG
Đây là code mình! được 77.14 O(n^4)
http://ideone.com/HE3LLG
Đây là code được 60đ
O(n*n*n)
Vẫn ko full nhỉ?
Bạn xem dùm mình
Thanks :D
Code O(N^3) của bạn có một lỗi là tràn mảng. Mảng C bạn khai báo N phần tử nhưng trong hàm Right bạn sử dụng đến 2*N phần tử.
Sửa lỗi này thì bài của bạn được 100.
Tham khảo thuật toán và code tại: http://yeulaptrinh.pw/86/spoj-dhlock/