Bài toán: Dãy sốtrungbình Tìm các dãysố trong dãysố nguyên cho trước nhận dãysố m đã cho làm dãy sốtrungbình Đề bài: Xét dãysố nguyên không giảm S 1 , S 2 , ., S n+1 (S i <= S i+1 ). Dãy m 1 , m 2 , .m n được xác định bởi công thức m i = (s i + s i+1 )/2 (1<=i<=n) gọi là dãytrungbình của dãy S. Ở đây ta chỉ xét trường hợp m i là số nguyên. Cho trước dãy m, nhiệm vụ của bạn là tìm tất cả những dãy S nhận dãy m làm dãytrungbình Input: Dữ liệu vào từ file Mean.inp gồm Dòng đầu tiên chứa số nguyên N (1<=N<=5 000 000) N dòng sau, dòng thứ i chứ số nguyên m i (1<=m i <=1 000 000 000) Output: Dữ liệu ra ghi lên file Mean.out gồm một số nguyên duy nhất là số lượng dãy S thỏa yêu cầu đề bài mà bạn tìm được Ràng buộc: Chương trình không được phép sử dụng quá 16MB bộ nhớ. MEAN.INP MEAN.OUT 3 2 5 9 4 Thuật toán: Từ công thức m i = (s i + s i+1 )/2 ta có m i >= s i . Bản chất của bàitoán thật ra là yêu cầu ta tìm tập giá trị của s 1 mà thôi vì khi có s 1 ta có thể tính ra toàn bộ dãy s theo công thức của dãy m: s i+1 = 2m i-1 -s i . Đặt s 1 = a, ta có s 2 = 2m 1 - a <= m2 <=> a>= 2m 1 - m 2 . Tương tự, với các bất đẳng thức s 3 <m 3 , s 4 <m 4 , ., s n < m n ta cũng suy ra được các giới hạn khác của a. Tuy nhiên, chỉ có hai dạng chung là: a >= x a <= y Gọi X max là giá trị lớn nhất trong số các cận dưới của a, Y min là giá trị nhỏ nhất trong số các cận trên của A. Khi đó, dãysố S thỏa yêu cầu đề bài là Y min - X max + 1. Độ phức tạp của thuật toán chỉ là O(n)! Download chương trình (mean.pas) Theo tin học và tuổi trẻ . Bài toán: Dãy số trung bình Tìm các dãy số trong dãy số nguyên cho trước nhận dãy số m đã cho làm dãy số trung bình Đề bài: Xét. dãy trung bình của dãy S. Ở đây ta chỉ xét trường hợp m i là số nguyên. Cho trước dãy m, nhiệm vụ của bạn là tìm tất cả những dãy S nhận dãy m làm dãy trung