Tải bản đầy đủ (.pdf) (12 trang)

Chuyên đề sử DỤNG dãy NHỊ PHÂN TRONG một số bài TOÁN đếm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.03 MB, 12 trang )

TRƯỜNG THPT CHUYÊN TỈNH THÁI NGUYÊN
CHUYÊN ĐỀ TRẠI HÈ HÙNG VƯƠNG NĂM 2015

SỬ DỤNG DÃY NHỊ PHÂN TRONG MỘT SỐ BÀI TOÁN ĐẾM


Mã: TO04

I. MỞ ĐẦU
Trong các kì thi học sinh giỏi và kì thi Quốc gia Trung học phổ thông,
học sinh gặp nhiều bài toán đếm. Các em có thể vận dụng các nguyên lí đếm
cơ bản, nguyên lí đơn ánh, nguyên lí song ánh, sử dụng hệ thức truy hồi hay
hàm sinh… vào giải quyết bài toán. Phương pháp sử dụng dãy nhị phân vào
bài toán đếm là một nội dung nhỏ trong phương pháp sử dụng nguyên lí
song ánh và ít được nhắc đến trong các tài liệu tham khảo. Tuy nhiên, qua
thực tiễn giảng dạy chúng tôi nhận thấy học sinh rất thích thú với phương
pháp này. Do đó, chúng tôi cố gắng sưu tầm một số bài tập cho các em làm
và từ đó bước đầu rút ra một số kinh nghiệm bản thân về phương pháp sử
dụng dãy nhị phân trong một số bài toán đếm.
II. DÃY NHỊ PHÂN VÀ NHỮNG VẬN DỤNG CỦA DÃY NHỊ PHÂN
TRONG MỘT SỐ BÀI TOÁN ĐẾM
1. Một số kiến thức cơ bản về dãy nhị phân
- Dãy nhị phân độ dài n là một dãy bao gồm n phần tử trong đó mỗi
phần tử chỉ nhận một trong hai giá trị là “ 0” hoặc “ 1”.
- Số dãy nhị phân có độ dài n là 2n.
- Số dãy nhị phân có độ dài n, trong mỗi dãy có đúng k thành phần bằng
“ 1” là: Cnk , (k ∈ • , n ∈ • * ).
2, Vận dụng dãy nhị phân trong một số bài toán đếm


Bài 1: Cho một lưới gồm các ô vuông. Các nút được đánh số từ 0 đến


m theo chiều từ trái sang phải và từ 0 đến n theo chiều từ dưới lên trên. Hỏi
có bao nhiêu đường đi khác nhau từ nút (0, 0) đến nút (m, n) nếu chỉ cho
phép đi trên cạnh các ô vuông theo chiều từ trái sang phải hoặc từ dưới lên
trên.
Giải:
n

0

(m,n)
m,n

1
0

0

1

1
0

0

1

(0,0)

m


Một đường đi như thế được xem gồm (m + n) đoạn (mỗi đoạn là một
cạnh ô vuông). Tại mỗi đoạn chỉ được chọn một trong hai giá trị đi lên (ta
mã hoá là 1) hay sang phải (ta mã hoá là 0). Số đoạn đi lên đúng bằng n và
số đoạn sang phải đúng bằng m. Bài toán dẫn đến việc tìm xem có bao nhiêu
dãy nhị phân có độ dài (m + n) trong đó có đúng n thành phần bằng 1.
n
Kết quả cần tìm là C m + n .

Nhận xét: Trong bài toán này chúng ta quan tâm tới hướng đi tại mỗi thời
điểm chỉ có hai khả năng là đi lên hoặc sang ngang. Từ đó quy ước mã hóa
để đưa về dãy nhị phân.


Bài 2. Một rạp chiếu phim có 15 máy điều hòa gắn ở các vị trí khác nhau.
Để điều hòa được không khí thì tại mọi thời điểm phải có ít nhất một máy
điều hòa hoạt động. Hỏi có bao nhiêu cách vận hành các máy điều hòa này
để không khí trong rạp luôn được điều hòa?
Giải:
Ta gọi các điều hòa đã cho là H1, H2, …, H15. Tại mỗi thời điểm, điều hòa Hi
bật ta mã hóa bởi số 1 và nếu nó tắt ta mã hóa bởi số 0. Khi đó mỗi cách vận
hành 15 máy điều hòa tương ứng với một dãy nhị có độ dài 15. Cách vận
hành thỏa mãn yêu cầu bài toán tương ứng với dãy nhị phân độ dài 15, trong
đó có ít nhất một thành phần bằng 1. Có duy nhất một dãy nhị phân độ dài
15 mà tất cả các phần tử đều là 0. Do đó kết quả cần tìm là 215 -1 = 32767
cách.
Nhận xét: Trong nhiều bài toán thực tiễn ta gặp hai khả năng chính trong bài
toán là hai quan hệ trái ngược nhau như: “bật” và “tắt”; “đóng” và “mở”;
“thuộc” và “ không thuộc”; “ được” và ‘không được”… Khi gặp những quan
hệ như thế ta có thể nghĩ đến việc đưa bài toán về bài toán liên quan đến dãy
nhị phân. Sau đây là một số bài toán như thế.

Bài 3: Chứng minh rằng một tập hợp X có n phần tử thì X có đúng 2n tập
hợp con với n là số tự nhiên.
Giải:
- Nếu n = 0 thì khẳng định trên hiển nhiên đúng.
- Nếu n là số nguyên dương thì ta gọi các phần tử của X là a1, a2,…, an.
Tương ứng với một tập hợp con A bất kì của X, ta xây dựng một dãy
nhị phân có n phần tử bằng cách nếu phần tử thứ ai thuộc A thì ta viết
vào vị trí thứ i của dãy nhị phân số 1, còn nếu ai không thuộc A thì ta
viết vào vị trí thứ i của dãy nhị phân số 0. Mỗi vị trí trong dãy nhị


phân chỉ có thể nhận một trong hai giá trị. Số dãy nhị phân như thế là
2n dãy. Vậy bài toán được chứng minh.
Bài 4: Có n chiếc kẹo giống nhau chia cho m em bé (m, n nguyên
dương). Hỏi có bao nhiêu cách chia kẹo?
Đây là một bài toán hay có tên là bài toán chia kẹo của Euler và có
nhiều ứng dụng trong giải toán tổ hợp. Ở những bài trước học sinh có
thể dễ dàng nhận ra hai quan hệ trong bài toán, từ đó có thể mã hóa để
đưa về bài toán của dãy nhị phân. Vận dụng bài 1 ở trên ta có thể giải
được bài 4 tuy nhiên chúng tôi trình bày một phương pháp hướng dẫn
học sinh giải bài toán này bằng phương pháp sử dụng dãy nhị phân.
Phương pháp hướng dẫn sau đây gọi là kỹ thuật bắc giàn trong vận
dụng lý thuyết về vùng phát triển gần nhất của Vygotsky.
Sau đây là đoạn hội thoại có thể diễn ra giữa giáo viên và học sinh.
Tình huống hội thoại do giáo viên tưởng tượng ra và lên kế hoạch thay
đổi nếu cần trước khi lên lớp. Những câu có dấu “?” là của giáo viên,
những câu có dấu “!” là của học sinh.
? Giả thiết của bài toán là gì?
! Có n chiếc kẹo giống nhau chia cho m em bé.
? Yêu cầu của bài toán là gì?

! Đếm xem có bao nhiêu cách chia kẹo thỏa mãn yêu cầu bài toán?
? Theo em, trong bài toán có bao nhiêu đối tượng chính?
! Có hai đối tượng chính là em bé và kẹo.
? Điều này có gợi ý cho em ý tưởng gì không?
! Em sẽ đưa bài toán về bài toán liên quan đến dãy nhị phân.
? Vậy em phải quy ước đối tượng nào là 0, đối tượng nào là 1?


! Em nghĩ trong hai đối tượng chính thì một đối tượng là 0 còn đối
tượng kia là 1. Ví dụ, em quy ước mỗi em bé là một số 0, mỗi chiếc kẹo là
một số 1.
? Làm thế nào để có mỗi cách chia kẹo tương ứng với một dãy nhị
phân nào đó?
! Em phải xếp các số 0 và 1 thành một hàng.
? Vậy ý tưởng tiếp theo của em là gì?
! Nếu em bé được 0 kẹo thì em chỉ viết: 0.
Nếu em bé được nhận k chiếc kẹo thì em viết: 0 11...1
{
k
 sË
 1

Em sẽ viết liên tiếp từ em thứ nhất tới em thứ m để tạo thành dãy nhị
phân có m số 0 và n số 1.
? Em có thể minh họa ý đó rõ hơn bằng một ví dụ cụ thể?
! Ví dụ một cách chia 7 kẹo giống nhau cho 3 em bé với em thứ 1
được 3 chiếc kẹo, em thứ 2 không được nhận chiếc kẹo nào còn em thứ 3
nhận 4 chiếc kẹo. Em viết 0111001111.
? Tốt lắm! Vậy bài toán ban đầu em đã biết cách giải?
! Mỗi cách chia kẹo tương ứng với một dãy nhị phân có độ dài

(m+n); trong đó có m thành phần 0, n thành phần 1 và luôn có một thành
m−1
phần 0 đứng đầu dãy. Do đó kết quả cần tìm là: C n+ m−1

Bài 5. Cho X là một tập hợp m số nguyên dương. Gọi p1 , p2 ,..., pn là các ước
nguyên tố của các số trong X. Chứng minh rằng nếu m > 2n thì tồn tại hai số
trong X mà tích của chúng là một số chính phương.
Giải:
Mỗi số M trong X mã hóa bởi một dãy nhị phân ( x1 , x2 ,..., xn ) trong đó xi = 0
nếu số mũ của pi trong phân tích tiêu chuẩn của M là chẵn; xi = 1 nếu số mũ


ca pi trong phõn tớch tiờu chun ca M l l. p dng nguyờn lớ Dirichlet,
ta xỏc nh m th l m s trong X. Cỏc chung l 2n dóy nh phõn cú di
n. Khi ú cú hai s cú tng ng cựng dóy nh phõn. Tớch hai s ny l mt
s chớnh phng.
Bi 6. Mt dóy m s nguyờn dng cha chớnh xỏc n s hng phõn bit.
Chng minh rng: Nu 2n m thỡ tn ti nhng s hng liờn tip trong dóy
m tớch ca chỳng l mt s chớnh phng.
Gii:
Ly b1 , b2 ,..., bm l mt dóy trong ú bi {a1 , a2 ,..., an },1 i m.
Vi mi j m ta xột dóy con nhng s hng liờn tip b1 , b2 ,..., b j . ng vi mi
dóy con ny ta cú mt b K j (k1 , k2 ,..., kn ) , trong ú ki = 0 nu ai xut hin s
chn ln trong dóy con trờn, trng hp cũn li ki = 1.
- Nu tn ti j m : K j (0, 0,..., 0) thỡ tớch b1.b2 ...b j l s chớnh phng.
- Trng hp cũn li, ỏp dng nguyờn lớ Dirichlet, ta ly m th l m b
K j vi 1 j m. Cú 2n chung th l s cỏc giỏ tr ca (k1 , k2 ,..., kn ) vi

ki = 0 hoc ki = 1 vi 1 i n. Theo gi thit, cú hai b K j = K l , vi


j l . Khi ú trong dóy b j +1 , b j + 2 ,..., bl , mi ai xut hin s chn ln. Vy

tớch b j +1.b j + 2 .....bl l mt s chớnh phng.
Bi 7. [ Balkan 1997]
Lấy m và n là số tự nhiên lớn hơn 1. Gọi S tập hợp có n phần tử. Lấy
A1, A2, A3,,Am là những tập con của S. Giả sử rằng, cứ 2 phần tử bất
kỳ x, y thuộc S đều có 1 tập hợp Ai ( i = 1, m ) thỏa mãn điều kiện: nếu
x Ai thì y Ai còn nếu x Ai thì y Ai. Chứng minh rằng: n 2 .
m

Phõn tớch:


Bi toỏn yờu cu chng minh mt bt ng thc nờn cú th s dng
Nguyờn lớ n ỏnh. Ta thy tp S cú n phn t nờn s tỡm mt n ỏnh t S
ti mt tp T no ú. Tp T phi cú 2 m phn t. Bi toỏn cú hai quan h
thuc v khụng thuc nờn cú th a v bi toỏn dóy nh phõn. M ta ó bit
tp hp cỏc dóy nh phõn cú di m thỡ cú 2 m phn t (do ti mi v trớ
ch cú th chn l 1 hoc 0). Tp T phi liờn quan n m tp nờu trong
bi. Ta cú cỏch xõy dng n ỏnh nh trong li gii sau:
Giải:
Mỗi phần tử x của S ta cho tương ứng với một dãy nhị phân

f ( x ) = ( x1 , x2 ,..., xm ) , với xi = 1 nếu xi Ai và xi = 0 nếu xi Ai .
Chúng ta có ánh xạ:
f: S T =

{( x , x ,..., x
1


2

m

) xi {0;1}}

Từ giả thiết ta có, nếu x y f ( x) f ( y ) . Vậy f là một đơn ánh .
S T

Mỗi phần tử của T là một dãy nhị phân có độ dài m nên T = 2 m .
Vậy n 2 .
m

Bi 8. Trong mt ca hng kem cú ba loi kem que: kem u xanh,
kem cam v kem sa da. Mt cu bộ mun mua 6 que kem ú. Bit cỏc
que kem cựng tờn ging ht nhau v cú s lng ỏp ng cho mi s la
chn ca cu bộ. Hi cu bộ cú bao nhiờu cỏch la chn bit th t chn cỏc
loi kem l khụng quan trng?
Gii:


Mó húa mi que kem bi mt s 0 ri xp 6 que c chn thnh mt dóy
thng theo th t kem u xanh, kem cam v kem sa da. Ngn cỏch cỏc
loi kem vi nhau bi s 1. Vớ d : cu bộ chn 2 kem u xanh, 1 kem cam
v 3 kem sa da thỡ ta vit 00101000; cu bộ chn 0 kem u xanh, 4 kem
cam v 2 kem sa da thỡ ta vit 10000100 ; 2 kem u xanh, 0 kem cam v
4 kem sa da thỡ ta vit 00110000 ; cu bộ chn c 6 kem cam thỡ ta vit
10000001 . Vy mi cỏch chn tng ng vi mt dóy nh phõn cú di 8
2
trong ú cú ỳng 2 thnh phn bng 1. Vy s cỏch chn cú th l : C8 cỏch.


Chỳ ý : Cú nhng bi toỏn ta khụng nht thit mó húa v s 0 hoc s 1 m
ta cú th mó húa bi cỏc s khỏc.
Bi 9. Để xem một buổi biểu diễn xiếc, mỗi người phải mua
một vé vào giá 1 USD. Mỗi khán giả chỉ được phép mua một vé. Mọi
người đến mua vé đứng xếp thành một hàng dọc trước cửa bán vé. Mỗi
người chỉ mang đúng một tờ 1 USD hoặc đúng 1 tờ 2 USD. Người bán
vé quên không mang theo tiền. Giả sử có n người mang tờ 1 USD và m
người mang tờ 2 USD ( m n ). Tìm số cách xếp hàng sao cho người có
tờ 1 USD thì được nhận ngay vé, người có tờ 2 USD thì khi đến lượt
của mình được nhận ngay vé và một tờ 1 USD trả lại ?
Giải :
Mã hóa người có tờ 1 USD bởi số 1, người có tờ 2 USD bởi số
2. Mỗi cách xếp hàng bất kỳ tương ứng với một véc tơ có (m+n) thành
phần trong đó n thành phần bằng 1, m thành phần bằng 2. Thành
phần thứ i tương ứng với người xếp hàng ở vị trí thứ i. Số véc tơ như
m
thế là Cn + m .


Một véc tơ gọi là tốt nếu tương ứng với cách xếp hàng thỏa
mãn yêu cầu bài toán. Các véc tơ còn lại gọi là các véc tơ xấu.
Chúng ta đi đếm xem có bao nhiêu véc tơ xấu bằng cách
xây dựng một song ánh từ tập A các véc tơ xấu đến tập B các véc tơ
có (m + n + 1) thành phần .
Mỗi véc tơ của B có hai tính chất :
i, Có m thành phần 2, (n+1) thành phần 1
ii, Thành phần 2 đứng vị trí đầu tiên.
m1
Ta có: B = Cm+n .


Cách xây dựng song ánh như sau:
r
v
- Giả sử là một véc tơ xấu, tức là từ thành phần đầu tiên đến
hết thành phần thứ (i-1) thì tương ứng với việc mua vé diễn ra
suôn sẻ. Đến thành phần thứ i tương ứng với người thứ i mua vé
nhưng người bán vé không có tiền trả lại. Vị trí i lúc này ta gọi là
vị trí xấu. Như vậy, từ thành phần 1 tới hết (i-1) có số lượng
thành phần 1 bằng số lượng thành phần 2. Xây dựng một véc tơ
r
v ' bằng cách thực hiện hai bước:
r
v
- Bước 1: Thêm thành phần 1 vào trước thành phần đầu tiên của .
Khi đó, vị trí xấu là ( i +1).
- Bước 2: Từ vị trí đầu tiên của véc tơ ở bước 1 tới hết vị trí (i+1),
thay các giá trị 1 bởi 2 và giá trị 2 bởi 1. Các thành phần từ vị trí
(i+2) trở đi giữ nguyên giá trị cũ.
r
Sau hai bước trên ta thu được véc tơ v ' thuộc tập B.


ur
- Xét véc tơ bất kỳ u ' bất kỳ thuộc B gọi j là số tự nhiên bé nhất
thỏa mãn từ vị trí 1 đến hết vị trí j thỏa mãn số thành phần 1
bằng số thành phần 2. Thao tác ngược lại ở trên, từ vị trí 1 tới hết
vị trí j ta thay 2 bởi 1 và 1 bởi 2. Các vị trí còn lại giữ nguyên như
cũ. Bỏ đi số 1 ở hành phần đầu tiên ta được một véc tơ xấu
thuộc A.

Vậy có một song ánh từ A đến B nên số véc tơ tốt bằng:

Cnm+ m - Cmm+n1
Đây cũng là kết quả cần tìm của bài toán.
Nhn xột: Nu thêm giả thiết ở Bi 9 rằng có đã có q người xếp hàng
sẵn . Mỗi người trong họ đều có đúng một tờ 1 USD. Hỏi có bao nhiêu
cách xếp hàng thỏa mãn?
m
n +1
Kt qu: Cn+mq Cm+nq .

Bi 10. Xột tp hp M gm 1985 s nguyờn dng phõn bit, sao cho khụng
cú s no cú c s nguyờn t ln hn 23. Chng minh rng M cha mt tp
con gm 4 phn t m tớch ca 4 phn t ny l ly tha bc 4 ca mt s
nguyờn.
Hng dn:
Vỡ ch cú 9 s nguyờn t khụng ln hn 23 nờn mi mt phn t trong
1985 phn t k ca tp hp M cú th phõn tớch c thnh tha s nguyờn t
trong ú cú nhiu nht l 9 s nguyờn t phõn bit: k = p1 1 . p2 2 ... p9 9 , (*)
k

k

k

trong ú ki 0 v ki nguyờn. Vi mi s hng ca M ta gỏn tng ng vi
mt vector (x1; x2,x9) trong ú: xi = 0 nu s m ki ca pi trong (*)


là chẵn và xi = 1 nếu ki là lẻ. Như thế ta có được 29 vector phân biệt. Theo

nguyên lí Dirichlet, mọi tập hợp con của 29 + 1 phần tử của M chứa ít nhất 2
số nguyên phân biệt, chẳng hạn a1
 và b1, với cùng vectơ lũy thừa. Suy ra tích
của chúng là một số chính phương: a1b1 = C2 . Khi ta lấy đi một cặp như thế
từ tập hợp M thì còn lại 1985 - 2 > 29 +1 số, áp dụng lần nữa nguyên lí
Dirichlet và tiếp tục lấy đi những cặp như thế cho tới khi ít nhất còn lại 29+l
số trong M. Vì 1985 > 3(29 +1) = 1539 nên ta có thể lấy đi 29 + 1 cặp ai , bi
và sẽ có 1985 - 2(29 +1) = 959 > 29 +1 = 513 số còn lại trong M. Bây giờ ta
nhìn lại 29 + 1 cặp lấy đi và lấy căn bậc hai của Ci (với Ci là tích a i b i , tức
là Ci = ai bi ) .
Số Ci không thể chứa các thừa số nguyên tố khác p1, p2 ,....,p9, cho
nên ít nhất có một cặp Ci, Cj với cùng vectơ lũy thừa, và Ci Cj = d2, d là số
nguyên bất kì. Suy ra, d 4 = Ci2C 2j = aibi a j b j v ới a i , b i , a j , b j bất kì trong
M.
III. KẾT LUẬN
Trong bài viết này chúng tôi đưa ra những ví dụ về việc vận dụng
dãy nhị phân vào trong các bài toán đếm quen thuộc. Nhiều bài toán ở
trên còn có những cách giải khác, tuy nhiên chúng tôi muốn học sinh thấy
được vẻ đẹp của lời giải bài toán khi sử dụng tính chất của dãy nhị phân.
Trong quá trình thực nghiệm chúng tôi cảm nhận được sự thích thú của
học sinh qua từng bài toán bởi dãy nhị phân có cấu trúc đơn giản và
những tính chất dễ nhớ. Chúng tôi mong rằng có thể cùng các bạn đồng
nghiệp nghiên cứu sâu hơn nội dung này và áp dụng được phương pháp
đã nêu vào những bài toán phức tạp hơn.

TÀI LIỆU THAM KHẢO


1. Andreescu, T., & Feng, Z. (2003), A Path to Combinatorics for
Undergraduates: Counting Strategies, Springer.

2. Balakrishnan, V. K. (1995), Schaum's outline of theory and problems
of combinatorics:[including concepts of graph theory], McGraw-Hill.
3. Bóna, M. (2011), A walk through combinatorics: an introduction to
enumeration and graph theory, World Scientific.
4. Chuan-Chong, C., & Koh, K. M. (1992), Principles and techniques in
combinatorics, World Scientific.



×