Nhờ thầy mà con thấy được muôn màu muôn vẻ của lập trình cạnh tranh. Con sẽ quyết tâm học tập chăm chỉ hơn để cùng ước mơ bay xa...

Chính nhờ thầy mà con có thể thấy được sự muôn màu muôn vẻ của lập trình cạnh tranh. Cũng giống như Toán học, lập trình cạnh tranh có rất nhiều cách để giải bài toán, từ chặn nhị phân, quy hoạch động, quay lui, đồ thị, cấu trúc dữ liệu… và một bài toán cũng có rất nhiều cách giải khác nhau. Không chỉ dừng lại tại đó, lập trình còn có cả giới hạn thời gian - thời gian cho phép để chương trình có thể chạy, khiến cho nhiều cách làm, tuy đúng, nhưng lại mất quá lâu để chạy phần mềm cũng coi như là sai.

Chính nhờ điều này đã khiến lập trình khó hơn toán học: Không phải bất cứ phương pháp đúng nào cũng sẽ vượt qua giới hạn thời gian và được chấp nhận.

Sau khi giải rất nhiều bài lập trình, con cũng có thể tự vạch ra trong đầu của mình một số phương pháp nhất định với mỗi giới hạn số: Nếu như n≤20 thì thường cách làm sẽ là phương pháp quay lui, nếu như n≤100 thì cách làm lại là lồng 3 vòng lặp vào với nhau, n≤〖10〗^5 thì cách làm lại cải tiến xuống phương pháp chặn nhị phân, hay nếu như n≤〖10〗^18, hay một tỉ tỉ, thì chắc chắn sẽ là một quy luật, một công thức nhất định được rút ra từ đề bài…

Không chỉ dừng lại tại đó, con còn học được sự kiên trì từ việc giải những bài toán lập trình cạnh tranh.

Tuy công thức chung để xác định cách làm bài toán lập trình đơn giản là vậy, nhưng đối với một số bài toán lập trình cạnh tranh cụ thể, công thức ấy bỗng trở nên không còn đúng nữa. Các bài toán ấy hoàn toàn có thể áp dụng nhiều cách làm mà trên lí thuyết sẽ vượt quá giới hạn thời gian, nhưng lại có sự nhận xét tinh tế để bỏ qua những trường hợp mà chương trình biết chắc chắn sẽ không giúp tạo nên kết quả tốt hơn.

Để tìm ra những nhận xét tinh tế ấy là một sự kiên trì và nỗ lực không ngừng đến từ bản thân. Nói đâu xa, chỉ mới đây thôi, cách làm của con tuy chỉ có 3 vòng lặp lồng nhau nhưng lại vượt quá giới hạn thời gian của đề bài. Tuy nhiên, điều khiến con sốc chính là cách làm chuẩn của bài: Tuy có tới 4 vòng lặp lồng nhau, nhưng nhờ những nhận xét tinh tế nên bài làm được chấp nhận.

Trong suốt hơn một năm qua, con đã được học từ thầy rất nhiều điều mới mẻ. Tuy nhiên, vẫn còn đó trước mắt con là một biển kiến thức bao la đang chờ được khám phá. Con sẽ quyết tâm học tập thật chăm chỉ hơn nữa để bồi bổ kiến thức, làm hành trang cho mình khi tham gia những thử thách lập trình cùng ước mơ bay xa.

Theo giaoducthoidai.vn
https://giaoducthoidai.vn/uoc-mo-bay-xa-post666965.html
Copy Link
https://giaoducthoidai.vn/uoc-mo-bay-xa-post666965.html
Bài liên quan

(0) Bình luận
Nổi bật Giáo dục thủ đô
Đừng bỏ lỡ
Mới nhất
POWERED BY ONECMS - A PRODUCT OF NEKO
Ước mơ bay xa