1. Trang chủ
  2. » Luận Văn - Báo Cáo

MỘT SỐ VẤN ĐỀ ĐÁNG CHÚ Ý TRONG MÔN TIN HỌC

230 4 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

MỘT SỐ VẤN ĐỀ ĐÁNG CHÚ Ý TRONG MÔN TIN HỌC

Phan Công Minh H S Vi t Anh , Ngô Văn Hồng , Bùi Minh Trí , Nguy n C nh Toàn Vinh 9-2009 M t s v n ð ðáng ý môn tin h c L I NÓI ð U V i mong mu n t ng h p nh ng thu t toán hay, cách gi i ð c ðáo trình h c t p ngơn ng l p trình Pascal Nhóm tác gi Phan Công Minh : H c sinh chuyên Tin A2K35 H S Vi t Anh , Ngơ Văn Hồng , Bùi Minh Trí Nguy n C nh Tồn – H c sinh chuyên Tin khóa 36 ðã vi t cu n tài li u “M t s v n ð ðáng ý môn tin h c” Trong ph m vi n i dung c a tài li u không ð c p ð n ki n th c, thu t toán b n mà t p trung vào kĩ thu t, thu t toán m r ng cách k p h p, ng d ng chúng ð gi i quy t toán tin, ð c bi t d ng thư ng g p kì thi Hi v ng cu n tài li u có th giúp ích cho b n ð c, nh t b n h c sinh ð i n vi c h c t p , b i dư ng Tin h c R t mong nh n ðư c s ðóng góp c a b n ð cu n tài li u hồn thi n Thay m t nhóm tác gi : Phan Công Minh Email: congminh91@yahoo.com M CL C L i nói ð!u Duy t nhánh c n Duy t ưu tiên Tìm ki m chu"i X# lý bit Quy ho ch ð ng tr ng thái Quy ho ch ð ng v$ trí c u hình Quy ho ch ð ng S%p x p topo ng d ng Phát hi n chu trình Chu trình Euler Chu trình âm ng d ng Tơ màu ð th$ Thu t tóan Ford Bellman k t h p Queue vịng Thu t tốn Dijtra v i ð&nh o M t s ng d ng thu t toán Dijtra Lu ng Mincost Các cơng th c hình h c M t d ng Quy ho ch ñ ng Trie Tree ng d ng Duy t b(ng cách chia đơi t p h p M t s tốn v khung Tìm ki m nh$ phân ng d ng X p l$ch công vi c X# lý s nguyên l n Hàm Mod Heap ng d ng Interval Tree Binary Index Tree Các l"i Pascal Kinh nghi m thi c# 12 15 21 26 35 44 49 53 56 71 81 84 92 99 104 107 117 123 127 133 137 167 173 181 190 M t s v n ð ðáng ý môn tin h c V N ð : DUY T NHÁNH C N Duy t nhánh c n phương pháp ph bi n s# d ng ð gi i quy t m t s lư ng l n toán tin, ð c bi t toán th c t C u trúc c a chương trình t nhánh c n ðư c mô t sơ lư c sau: Ch n m t nghi m c a toán làm c n (c) Th c hi n bư c t th i - N u i bư c sau bư c cu i ki m tra nghi m m i tìm ðư c c p nh t c n (c), ghi nh n m t nghi m t t c a toán - Sau bư c t th i, ki m tra nghi m s tìm ðư c có kh t t c n (c) hay không - g i ði u ki n nhánh c n N u có g i th c hi n bư c th i+1 cịn khơng quay l i bư c i-1 Hai y u t quan tr ng c a chương trình c n (c) kh i t o ban ð!u ði u ki n nhánh c n Vi c ch n m t c n (c) ði u ki n ki m tra nhánh c n t t s) giúp bư c t tránh ði vào nh ng hư ng mà ch%c ch%n khơng tìm ðư c k t qu t t ði u có nh nh hư ng tr c ti p ð n ð hi u qu c a chương trình Dư i ðây ta xét m t s cách ki m tra nhánh c n hay dùng thông qua toán c th Bài toán: Chu trình Hamilton nh nh t Cho ð th$ vơ hư ng G M"i c nh ðư c gán m t tr ng s nh t ð$nh (l n 0), tìm m t chu trình ði qua t t c ð&nh, m"i ð&nh m t l!n có t ng tr ng s nh* nh t G i ý: Duy t nhánh c n phương pháp nh t ð gi i quy t toán nêu Chu trình ði qua N ð&nh s) bao g m N c nh Gi s# t i bư c th i, ðã ði qua k c nh n-k c nh n a c!n ph i ði qua ði u ki n ð ði ti p bư c th i+1 s(k) + (n-k)*minc < smin Trong ðó: - s(k) t ng chi phí c a k c nh ðã ði qua - minc tr ng s c a c nh nh* nh t s c nh l i chưa ðư c ði qua c a ð th$ - smin t ng tr ng s c a m t chu trình ðã tìm ðư c chưa t i ưu Có th kh i t o smin ban ð!u m t s vơ l n Bài tốn: X p valy M t va ly có th ch a t i ða W ðơn v$ tr ng lư ng Có N lo i ð v t, s lư ng m"i lo i không h n ch Lo i ð v t th i có tr ng lư ng Ai có giá tr$ Ci H*i nên ch n nh ng lo i ð v t s lư ng ð x p vào va ly cho: - t ng tr ng lư ng c a v t không vư t gi i h n W c a valy - t ng giá tr$ c a v t l n nh t G i ý: V i m"i lo i ð v t i, g i Ti giá tr$ riêng c a nó: Ti = Ci / Ai Sau ðó s%p lo i ð v t theo th t gi m d!n c a Ti Phương pháp t nhánh c n t i m"i bư c t lo i ð v t i, ta l y k ð v t lo i này, ðó ði u ki n ð t ti p lo i ð v t i+1 (ði u ki n nhánh c n) là: M t s v n ð ðáng ý mơn tin h c Trong ðó: - k*Ai smax w tr ng lư ng mà valy có th ch a thêm sau bư c t lo i ð v t i-1 s(i) t ng giá tr$ hi n ðang có c a valy sau bư c t lo i ð v t i-1 smax t ng giá tr$ valy c a m t x p ðã tìm ðư c chưa t i ưu Có th kh i t o smax ban ð!u b(ng Bài tốn: Xâu ABC Tìm m t xâu ch& g m ký t A,B,C cho - Có ð dài N cho trư c (N= cu,v - s(u) + tu,v + d[v] = d[1] ðó s(u) t ng th i gian ðã ði t+ ð n u Bài tốn: Tìm ðư ng ði (ROADS) Có N thành ph N n i b i ðư ng m t chi u M"i ðư ng có hai giá tr$: ð dài chi phí ph i tr ð ði qua Bob thành ph B n giúp Bob tìm ðư ng ði ng%n nh t ð n thành ph N, bi t r(ng Bob ch& có s ti n có h n K mà thơi D li u: ROADS.INP Dịng ð!u tiên ghi t s test V i m"i test: dòng ð!u ghi K (0 ≤ K ≤ 10000) Dòng ghi N, ≤ N ≤ 100 Dòng ghi R, ≤ R ≤ 10000 s ðư ng n i M t s v n ð ðáng ý mơn tin h c M"i dịng N dòng sau ghi s nguyên S, D, L, T mô t m t ðư ng n i gi a S D v i ð dài L ( ≤ L ≤ 100) chi phí T (0 ≤ T ≤ 100) Lưu ý có th có nhi u ðư ng n i gi a hai thành ph K t qu : ROADS.OUT V i m"i test, in ð dài ðư ng ði ng%n nh t t+ ð n N mà t ng chi phí khơng q K N u khơng t n t i, in -1 Ví d : ROADS.INP 2 3 4 4 5 4 1452 1210 2311 3410 ROADS.OUT 11 -1 Bài toán: Romeo and Juliet Romeo Juliet b$ giam m t mê cung hình ch nh t kích thư c MxN vng Mê cung có hai lo i ô: t c m Trong trình ði mê cung, t i m"i bư c ta ch& có th di chuy n ð n t k c nh theo m t b n hư ng: ðông (E), Tây (W), Nam (S), B%c (N) Ban ð!u, Romeo t i ô [1,1] Juliet t i [M,N] ð kh*i mê cung, Romeo c!n di chuy n ð n ô [X,Y] Juliet c!n di chuy n t i ô [Z,T] ð c u c p tính nhân, Shakepeare ðưa cho b n m t c0m mang xâu D ch& g m kí t E, W, N, S th hi n m t lo t bư c di chuy n cho bi t có th ch n cho m"i ngư i m t s bư c di chuy n theo th t cho dãy, m"i bư c di chuy n ch& ðư c m t ngư i ch n m i bư c di chuy n dãy ð u ph i ðư c ch n m"i ngư i m i có th ði ð n ðích c a u c!u b n ch n cho m"i ngư i dãy bư c di chuy n thích h p N u có nhi u l i gi i ch& c!n ðưa m t l i gi i M t s v n ð ðáng ý môn tin h c 0 0 0 1 0 0 0 0 0 Ví d v i mê cung b ng bên kí hi u c m, ô t do, Romeo c!n ð n ô [2,2], Juliet c!n ð n ô [2,2], Juliet c!n ð n [4,4] xâu D SNEEWW vi c ch n bư c di chuy n c a hai ngư i có th vi t dư i d ng xâu ch& g m kí t R J: RJRRJR; có nghĩa Romeo th c hi n bư c di chuy n Nam (S), ðơng (E), ðơng (E), Tây (W), cịn Juliet th c hi n bư c di chuy n B%c (N), Tây (W) M t l i gi i khác cho b i xâu RJRRRJ D li u: ROJU.INP Dòng th nh t ghi hai s M, N (3

Ngày đăng: 18/01/2023, 13:25

w