Posts

Showing posts from September, 2022

Top 3 phần mềm miễn phí dùng để học lập trình Python

Image
Khi mới bắt đầu học lập trình Python, các bạn sẽ gặp một số khó khăn ở giai đoạn đầu. Một câu hỏi đầu tiên là "nên sử dụng IDE nào để có thể lập trình Python?". Theo yêu cầu của chương trình Tin học mới 2018 về dạy học phát triển năng lực, các phần mềm sử dụng trong nhà trường để giảng dạy phải là phần mềm miễn phí, mã nguồn mở. Bởi thế, các lựa chọn sẽ ưu tiên đối với các phần mềm mã nguồn mở, tiêu chí phần mềm đơn giản, dễ sử dụng, đủ các chức năng cơ bản là được. 1. IDLE  Để lập trình Python, bạn có thể tải Python về máy của mình từ trang chủ  https://www.python.org/downloads/  sau đó cài đặt. Sau khi cài đặt, bạn có thể dùng luôn IDLE có sẵn của Python để viết chương trình. Phần mềm này cũng dễ dùng và thân thiện, nhỏ gọn lại không cần cài đặt gì thêm. 2. Thonny Thonny là một IDE miễn phí, nhỏ gọn. Việc tải và cài đặt rất nhanh chóng. Bạn có thể sử dụng để viết chương trình luôn mà không cần phải cài Python riêng vì nó đã được tích hợp trong quá trình cài đặt Thonny r...

Cách nghĩ bài Quy hoạch động Dãy con tăng dài nhất LIS

Image
Loạt bài Quy hoạch động cơ bản mình trình bày ở đây nhằm mục đích định rõ các bước tư duy cụ thể để đưa ra được thuật toán Quy hoạch động cho một bài toán. Sản phẩm của quá trình lập luận, suy nghĩ gồm có: định nghĩa hàm trạng thái mô tả một trạng thái chung của bài toán; một công thức Quy hoạch động thể hiện việc tính toán các trạng thái sau nhờ một vài trạng thái trước đó; một số bài toán cơ sở làm tiền đề cho việc tính các trạng thái sau và một phương án lưu trữ giá trị các trạng thái nhằm mục đích đưa ra kết quả cuối cùng hoặc truy vết tìm một phương án hợp lí. Bài này sẽ bàn về một bài Quy hoạch động điển hình "Dãy con tăng dài nhất" . Có thể bạn đã đọc, thấy bài này ở nhiều nơi rồi, ở bài viết này mình một lần nữa phân tích theo 5 bước cụ thể để các bạn mới học có thể tiếp cận một cách dễ dàng hơn. Tóm tắt bài Dãy con tăng dài nhất (LIQ) : Cho dãy gồm N phần tử a[i] với i từ 1 tới N; Hãy tính độ dài của dãy con tăng đơn điệu dài nhất. Một dãy con tăng đơn điệu là một dã...

Quy hoạch động bài FROG 2 - Atcoder

Frog2 là một bài tập Quy hoạch động cơ bản dạng dễ . Bài này được nằm trong loạt bài mẫu nhằm giúp các bạn định hướng cách nghĩ để có thể đưa ra một thuật toán Quy hoạch động . Ở đó bao gồm các bước tư duy nhằm định nghĩa một hàm Quy hoạch động (hàm trạng thái), một công thức Quy hoạch động, các bài toán cơ sở, bảng phương án và các lưu ý khi tính bảng phương án. Bài Frog 2 có thể tóm tắt như sau: Có N hòn đá được đánh số từ 1 tới N. Hòn đá thứ i có độ cao h_i. Ban đầu chú ếch ở hòn đá 1. Chú liên tục thực hiện một loạt hành động sau: Nếu chú đang ở hòn đá i, chú có thể nhảy tới các hòn đá i+1, i+2,..., i+K và chi phí cho bước nhảy đó là |H_i - H_j| với j là hòn đá mà chú ếch nhảy tới. Hỏi chi phí tối thiểu để chú ếch nhảy từ hòn đá đầu đến hòn đá thứ N? Nếu đã làm bài Frog 1 rồi thì bạn sẽ nhận thấy ngay Frog 2 là bài khá tương tự bài Frog 1. Như vậy, cách nghĩ và cách phân tích để đưa ra phương án Quy hoạch động cũng tương tự bài Frog 1. Bạn có thể thực hành nghĩ lại theo các chỉ dẫ...