Ðề: Một số bài toán cần nắm trong tin học
Trích:
|
Ðề: Một số bài toán cần nắm trong tin học
Thường người ta thao tác trên file, sẽ có 1 chương trình chấm kết quả đc xuất ra từ file output. Nhưng đối với riêng bài này, vì lười viết trình chấm nên anh đã để output là duy nhất :D.
|
Ðề: Một số bài toán cần nắm trong tin học
hehe em non mà , thank các anh nhìu :D
|
Ðề: Một số bài toán cần nắm trong tin học
Cách tốt hơn để giải quyết bài này có độ phức tạp O(N), dựa vào tính chất dãy số dương.
Xét dãy con liên tiếp kết thúc tại j, gọi i là vị trí xa nhất về bên trái sao cho đảm bảo điều kiện tổng từ i đến j <=M. Giả sử đã tìm đc một cặp (i,j) nào đó. Ta nhận xét: "Với mỗi cặp (x,y), nếu (y>j) thì chắc chắn (x>=i)". Vd ta xét vị trí j, ta tìm đc i tương ứng của nó. Vì i là vị trí xa nhất sao cho tổng [i,j]<=M nên ta chắc chắn tổng từ [i-1,j]>M. Vậy với (j+1) ta chỉ cần kiểm tra điều kiện tổng từ i đến (j+1) <=M, nếu thỏa thì tiếp tục tăng j, nếu ko thì tăng i lên đến khi thỏa. Code:
getmax:=low(longint); {gán biến getmax bằng giá trị nhỏ nhất của kiểu longint} |
Ðề: Một số bài toán cần nắm trong tin học
đoạn code ở trên nhìn thì thấy 2 vòng lặp lồng nhau, nhưng thực chất vòng for sẽ gán cho biến j các giá trị từ 1 đến n, vòng while gán cho i các giá trị từ 1 đến n. Mỗi giá trị 1 đến n chỉ xuất hiện 1 lần trong biến i và j, nên thuật toán có độ phức tạp O(2N) ~ O(N)
|
Ðề: Một số bài toán cần nắm trong tin học
thêm một bài nữa, bài này là một ứng dụng của bài trên kia :wink_smile:
Trích:
|
Ðề: Một số bài toán cần nắm trong tin học
Bài mới đây
Trích:
|
Ðề: Một số bài toán cần nắm trong tin học
Code:
program chocolate; |
Ðề: Một số bài toán cần nắm trong tin học
bài em bị quá thời gian. Nếu S = 10^9 thì phải duyệt đến 5.10^8 => quá thời gian
|
Ðề: Một số bài toán cần nắm trong tin học
Đây là đáp án của bài chocolate
Trích:
|
Múi giờ GMT +7. Hiện tại là 12:04 PM. |
Website sử dụng phần mềm vBulletin phiên bản 3.6.8
do Công ty TNHH Jelsoft giữ bản quyền từ 2000 - 2024.
Hội CHS Lê Quý Đôn-Long An giữ bản quyền nội dung của website này