Trong phần đầu Lập trình và tư duy thuật toán sáng tạo (Kì 1) Mình đã giới thiệu về khái niệm, lý do bạn cần sử dụng thuật toán và những điều cơ bản đề giải quyết một bài toán. Và giờ thì chúng ta bắt đầu tìm hiểu xem thế giới "diệu kỳ" này có gì nhé. Show
Nội dung "Kì 2"
Chuyện là Tí rất thích chơi trò xì tố 5 cây với bạn bè nhưng do tình hình giãn cách xã hội nên Tí đã quyết định viết một cong bot để có thể chơi cùng mình trong khoảng thời gian rảnh rỗi không biết làm gì. Luật chơi như sau: Mỗi người có 5 quân bài, hãy:
Trước khi đi chi tiết hơn về giải thuật, mình sẽ "Tóm tắt một số kiến thức về đại số tổ hợp ứng dụng trong tin học" để các bạn tiện theo dõi các nội dung tiếp theo Hoán vị
Ví dụ: với tập
Gọi Giải thích:
Các bạn có thể theo dõi hình ảnh minh họa để hiểu hơn về tư tưởng. Hoán vị vòng quanh
Ví dụ: Với tập A = {1, 2, 3}, chỉ có 2 hoán vị vòng quanh là Các hoán vị như Gọi Do có Hoán vị lặp
Ví dụ: Có bao nhiêu hoán vị của các chữ cái trong chuỗi Nhận xét: Chuỗi Tuy nhiên do chữ Ta có thể dễ dàng liệt kê 12 hoán vị này:
Ta có công thức tính hoán vị lặp: Trong đó:
Chỉnh hợp (Permutation)
Ví dụ: với tập A = {1, 2, 3, 4}, các chỉnh hợp chập 2 của A sẽ là:
Giải thích: Với
Do vậy, số lượng các chỉnh hợp chập k của n phần tử là: Lưu ý: với Chỉnh hợp lặp (Permutation with repetition)
Ví dụ: với tập A = {1, 2, 3}, các chỉnh hợp lặp chập 2 của A sẽ là:
Mỗi phần tử trong số k phần tử của chỉnh hợp lặp đểu có thể nhận n giá trị khác nhau (do các giá trị có thể lặp lại). Vì vậy, số lượng các chỉnh hợp lặp chập k của n phần tử sẽ là: Tổ hợp (Combination)
Ví dụ: với tập A = {tennis, đạp xe, bóng chày}, các tổ hợp chập 2 của A sẽ là: Nhận xét: Mỗi tổ hợp chập Do vậy, số lượng tổ hợp chập k có thể dễ tính tính được thông qua số lượng chỉnh hợp như sau: Tổ hợp lặp (Combination with repetition)
Ví dụ: với tập A = {1, 2, 3}, các tổ hợp lặp chập 2 của A sẽ là:
Mỗi tổ hợp lặp chập Ở ví dụ trên,
Như
vậy, số lượng các tổ hợp lặp chập k của n phần tử chính là số cách chọn ra Và để minh họa rõ hơn về khái niệm chỉnh hợp (Permutation), chỉnh hợp lặp (Permutation with repetition), tổ hợp (Combination), tổ hợp lặp (Combination with repetition). Mình sẽ sử dụng một hình ảnh minh họa (Nguồn: Omnicalculator) Một số bài toán ví dụBài toán 1: Có bao nhiêu cách xếp 5 người thành một hàng? *Lời giải: P(5) = 5! = 120 cách Bài toán 2: Từ các chữ số 0, 1, 2, 3, 4 có thể lập được bao nhiêu số tự nhiên có 5 chữ số khác nhau Lời giải: Xét chữ số có 5 chữ số là Có 4 cách để chọn ra chữ số thỏa mãn đặt vào Với 4 vị trí còn lại, ta còn 4 chữ số và có Vậy có Bài toán 3: Có bao nhiêu cách sắp xếp 5 người vào một bàn tròn có 5 chỗ, biết hai cách sắp xếp là khác nhau nếu từ cách sắp xếp thứ nhất ta không thể thu được cách xếp thứ hai khi xoay cùng chiều tất cả mọi người theo cùng một khoảng cách? Lời giải: Đây chính là số hoán vị vòng quanh của 5 phần tử, tức là Bài toán 4: Có bao nhiêu hoán vị của chuỗi MISSISSIPPI? Lời giải: Chuỗi trên có 11 ký tự, trong đó có 4 chữ I, 4 chữ S, 2 chữ P và 1 chữ M. Đây chính là ví dụ điển hình của hoán vị lặp, và tổng số hoán vị sẽ là: Bài toán 5: Có bao nhiêu cách xếp 5 người vào một băng ghế có 7 chỗ? Lời giải: Đây là mô hình của bài toán chỉnh hợp, đáp số chính là số lượng chỉnh hợp chập 5 của 7, tức là:
Bài toán 6 Có bao nhiêu số tự nhiên có 4 chữ số khác nhau, được tạo thành bởi các chữ số {0, 1, 2, 3, 4, 5}? Lời giải: Có 5 cách chọn chữ số đầu tiên (chữ số này phải khác 0). Còn lại 3 vị trí và 5 chữ số, số cách chọn cho 3 vị trí này chính là số chỉnh hợp chập 3 của 5 chữ số còn lại. Kết quả: Bài toán 7: Biển đăng kí ô tô có 6 chữ số và 2 chữ cái tiếng Anh, không dùng chữ O và I . Hỏi số lượng ô tô có thể được đăng kí nhiều nhất là bao nhiêu? (Biết bảng chữ cái tiếng Anh gồm 26 chữ cái) Lời giải: Có F(6,10) cách chọn ra 6 chữ số Có F(2, 24) cách chọn ra 2 chữ cái (bảng chữ cái tiếng Anh có 26 chữ cái, trừ đi 2 chữ O và I do dễ nhầm với số 0 và 1). Vậy kết quả là: Bài toán 8: Một nhóm có 5 nam và 3 nữ. Có bao nhiêu cách chọn ra 3 người sao cho trong đó có ít nhất 1 nữ? Lời giải: Ta có các trường hợp sau: 1 nữ, 2 nam: 3 × C(2, 5) = 30 2 nữ, 1 nam: C(2,3) × 5 = 15 3 nữ: C(3,3) = 1 Tổng cộng: Bài toán 9: Có bao nhiêu số có 4 chữ số khác nhau mà các chữ số giảm dần theo chiều từ trái qua phải. Lời giải: Với mỗi cách chọn 4 chữ số khác nhau (từ 10 chữ số 0, 1, ..., 9), ta tạo được thành đúng 1 số có 4 chữ số thỏa mãn yêu cầu. Vậy số lượng các số như vậy sẽ là Bài toán 10: Giả sử có n viên bi giống nhau và m cái hộp (n>m), ta xếp bi vào các hộp. Gọi xᵢ (với i = 1, 2, 3 ...) và m là số bi ở hộp i. Chứng minh rằng: a) Số cách xếp khác nhau n viên bi vào m cái hộp là C(n, m+n-1) b) Trong C(n, m+n-1) cách xếp đó có C(m-1, n-1) cách xếp cho tất cả các hộp đều có bi. Lời giải: a) Ta biểu diễn n cái kẹo bởi Ví dụ: 3 vạch để chia 9 cái kẹo vào 4 hộp: Như vậy, có b) Trong trường hợp mỗi hộp cần có ít nhất một viên kẹo, các vạch | không được đứng cạnh nhau và phải đứng giữa các dấu ?. Có Vậy số cách sẽ là Hệ quả: Từ bài toán trên ta suy ra hai hệ quả thú vị sau:
Và hệ quả này ta lại sinh ra 1 bài toán: Tìm số nghiệm nguyên không âm của phương trình x₁ + x₂ + x₃ + x₄ = 20 thỏa điều kiện x₁ ≤ 3; x₂ ≥ 2; x₃ > 4. Hướng dẫn: Viết lại 3 điều kiện trên thành: Ta sẽ tính số nghiệm của phương trình với điều kiện Sau đó, trừ đi số nghiệm của
cùng phương trình đó với điều ngược của điều kiện thứ nhất, tức là: (1) Đặt Theo hệ quả ở trên, số nghiệm là: (2) Đặt Theo hệ quả ở trên, số nghiệm là: Kết quả cuối cùng: Bàn luậnTrong lập trình, một lớp bài toán phổ biến là bài toán liệt kê tất cả các cấu hình của một loại tổ hợp nào đó. Ví dụ: liệt kê các tập hợp con của một tập hợp, liệt kê tất cả các cách xếp hàng, liệt kê các hoán vị của một xâu để tìm hoán vị phù hợp... Để giải lớp bài toán này, chúng ta có nhiều phương pháp giải thuật nhưng đơn giản và phổ biến thì có thể kể đến: Phương pháp sinh (Generation), Thuật toán quay lui (Backtracking),... Và chúng ta sẽ cùng nhau tìm hiểu chi tiết hơn về các thuật toán này trong các kỳ tới nhé. Ảnh chụp màn hình của hướng dẫn trò chơi chuyên nghiệp Trò chơi chữ luôn luôn ở xung quanh và đặc biệt phổ biến.Một trò chơi cụ thể đã đánh cắp ánh đèn sân khấu: & nbsp; Wordle.Trò chơi từ hàng ngày này có thể tạo ra người chơi, vì họ chỉ có & nbsp; sáu lần thử & nbsp; để đoán & nbsp; từ năm chữ cái trong ngày.Mỗi dự đoán cho phép họ loại bỏ các câu trả lời có thể, mặc dù việc tìm kiếm câu trả lời có thể khó khăn nếu nó chứa các chữ cái chung. Các từ có ở vị trí thứ hai - Danh sách WordleNgười chơi có một vài lựa chọn cho & nbsp; từ năm chữ cái với chữ cái thứ hai.Những người tìm cách thu hẹp dự đoán tiếp theo của họ có thể tiếp tục đọc để tìm một danh sách & nbsp; các từ bên dưới.
Tất cả những từ này đã được thử nghiệm trong trò chơi để đảm bảo rằng Wordle chấp nhận chúng.Để chơi trò chơi, người chơi cần phải nghĩ ra một từ, nhập nó và nhấn & nbsp; Enter & nbsp; để thực hiện một nỗ lực.Nếu chúng tôi bỏ lỡ một từ hoặc bạn nhận thấy rằng một từ không phù hợp với bạn, hãy cho chúng tôi biết trong các bình luận.Ngoài ra, hãy thoải mái chia sẻ điểm số của bạn dưới đây!ENTER to make an attempt. If we missed a word or you notice that a word doesn't work for you, let us know in the comments. Also, feel free to share your Wordle score down below! Bạn vẫn bị mắc kẹt sau khi sử dụng danh sách này?Nếu vậy, chúng tôi có câu trả lời cho bạn!Hãy đến & nbsp; tất cả các câu trả lời của Wordle vào năm 2022 (cập nhật hàng ngày) & nbsp; trên các hướng dẫn trò chơi chuyên nghiệp. Theo dõi chúng tôi trên Twitter và Facebook để cập nhật các trò chơi yêu thích của bạn! 5 từ có chữ A là gì?5 chữ cái bắt đầu bằng A.. aahed.. aalii.. aargh.. abaca.. abaci.. aback.. abaft.. abamp.. Những từ nào có 5 chữ cái và A A ở giữa?Năm chữ cái một chữ cái là chữ cái giữa.. abase.. abate.. aback.. adapt.. adage.. again.. agape.. agate.. Một từ 5 chữ cái có AR trong đó là gì?Gợi ý: Sử dụng mẫu tìm kiếm nâng cao dưới đây để có kết quả chính xác hơn.... 5 chữ cái bắt đầu bằng ar .. 5 chữ cái có AR ở giữa là gì?Năm chữ cái với AR ở giữa.. alarm.. apart.. award.. aware.. beard.. blare.. board.. chard.. |