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

SGK BT chuyên tin quyển 1

228 51 2

Đ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

Thông tin cơ bản

Định dạng
Số trang 228
Dung lượng 32,76 MB

Nội dung

HO ffi Ho Si DAM (Ch0 bi6n) DO DUC DONG - LE MINH HOANG NGUYEN THANH HUNG TAI IIEU CHUYTN TIN HOC rl I H BAt TAPa OUYEN (Tdi bdn tdn th* nhiit) runA xuAr eAN ctAo ouc vtEt ruRnt Lor NoI uAu lieu chuyAn Tin hoc - Bdi tQp Quydn 1,2, duoc viet kdm vdi bO C6c t6c gih Tdi liQu chuyAn Tin ioc - Quydn 1,2,3 tuong tnrg dd du-o.c xuAt ban' BQ sdch Tdi chuyOn' tham gia biOn soan bO s6ch ld nhtrng thdy gi6o dd vh dang d4y o c6c trudng gi6b vi6n ldp chon hoac tham gra c6c kh6-a bdi dudng thi tin hoc qudc tq bdi dudng mudn tin cho cilc trUong chuy0n theo cfruong trinh ctra BO Gi6o duc vh Dho tao, mong vuc linh thu6c tuong xAy dtpg duo c c6c tai tieu c6 tinh h0 thong phqc vU t6t c^c ddi chuy€n tin hoc nhau' gdm hai C6c cu6n Tdi lidu chuyAn Tin hoc ' Bdi tQp ddu c6 cau tnic nhu phAn: ! Phdn I - Bii t4p bao gdm tat chc6c bdi mp nhfrng chuyen dd ciia sSchTdi d€ ddn hAu chuyAn Tin hoc firon' rmg vd cr4c bdi mp bd sung, duoc s6p xep tir kh6,.til don gi6n ddn Phfc taP gifp ban Phdn II - Hu6ng dan giii bii tap c6 thd ld nhfrng huong d6n chi tidt dd hidu v)r tim doc tim duo c ldi gi6i hoac chi li doan chuong trinh chfnh girip ban doc Ddi v6i m6t sd bdi tAp duo c ldi giii hoac chuong trinh ho)rn chinh dd tham kh6o thi c6 thd chi ld ddp 6n hay huong dAn ngan ggn' Hai bQ s6ch Tdi tiQu chuyan Tin hoc vit Tdi liau chuyan Tin hoc - Bdi ttfrp t'ao chuy6n rhinh h0 th6ng tdi liOu kh6 hodn chinh theo dinh huong Chuong trinh c6c vdi b6 dd chuyen rin hoc da duo c 86 Gi6o duc vh Ddo tao ban hdnh' Do vay cung 'sdch Tdi liQu chuyAn Tin hoc,b6 s6ch Tdi liAu chuyAn Tin hoc ' Bdi tqp sE ld tdi ca li€u thidt thuc phuc vu cho gi6o viOn, hoc sinh cdc trudng chuy0n, l6p chon tham Trung hoc phdlhong vb Trung hoc co s& Ngodi ra, b0 s6ch cdn lh thi lieu gia kh6o bd ich cho viec t4p huan sinh vien c6c trudng Dai hoc, Cao ding tham vi€n Qudc td' c6c ki thi olympic Tin hoc Sinh vion Todn qudc vd Ki thi lap trinh Luu y srt dqng bQ sdch: C6c bdi tap b6 siich ndy du-o.c d6nh so nhu theo' s6ch li thuydt; c6c bdi tap bd sung drro c dd muc riOng vd dr4nh sd tidp b0 Mac dD c6c t6c gia vd Ban biOn tap da cd gang hohn thien nhmg chdLc chan dd g6p d6ng s6ch cbn nhidu thieu s6t, cdc tdc giA mong nhAn duoc nhidu f kiea g6p f 'xin gui vri: s6ch sO hohn thiOn hon, phuc vu ban doc du-o.c hiOu qui hon C6c BanTodn-Tin, COng ry cd phdn Dich vu xud't bdn Gido duc Hd NOiNhd xudt bdnGido ducVi€t Nam, l87B,Giringv6, Hd Noi' CAc tilc giir P] t a ,rs t.: 1., Bai t?p cHuytN DE THU4T roAN va, pnAN ricn THUAT roAn Phdn t{ch thdi gian thttc hi€n cita d6qn chucng trinh cdc bdi't* 1.1 d€n 1.9 1.1 for i::1 to n if i mod 2:0 then c:=c+l; for 1:=1 to n if, i nrod 2:0 then c1::c1+1 else c2:=c2+I; for i::1 9o n if i mod 2:0 then for ir=1 to n ci=c-f1 a 1.5 while 1>0 begin _ i =i l =.1 + i end; l:6 ri r -v, -n repeat, i =i +T L ' lf if i- mod 3:0 then d:=d + i; until i>n; ,for i-::1 to n-1 for j:=i+l- to n d:=d+1; 1.8 d: :0; l for i::1 to n-2 for j:=i+1 to n-1 for k': j +1 to n d::d+1; 1.9 while n>0 begin n::n div 2; l =.1+1 J end, 1.10 cho mQt ddy s6 g6m r sr5 nguy€n duong, xdc dfnh xem c6 t6n t4i mQt d6y li€n titip c6 t6ng bing k hay kh6ng? a) Dua thuat to6n c6 thoi gian thgc hiQn O(nt) b) Dua thuet to6n c6 thcri gian thpb hiQn O(n') c) Dua thuet to6n c6 thcrigian thqc hiQn O(n) cnuvtx on clcrrnx rHUc co BAN 2.1 nguyen kh6ng cho s li mot x6u chi g6m hai ki tu'0' hopc'1' m6 tA mQt s6 a- O ftQ co s6 Z, hay chuy0nrsO d6 sang hQ co sO t0 (d0 ddi xiu s kh6ng vuqt qu6 200) Vi dg: 101011002: ACro 1010 101 I 10000010010001 2.2 Cho sO rz: ABCL23 rc nguy6n ducrng N (N < 10) a) Ph0n tich N thdnh thira s6 nguy6n t6' b) DOm sti u6c cria N c) Tinh t6ng c6c udc cira N' tra tinh nguY6n to 2.3 Dua nhirng sd nho hon ho{c bing 106 md c6ch'ki,5m cfra Fermat bi sai t6 doan [t, R] 2.4 Sir dung sdng s6 nguyen t6 liet k6 c6c s6 nguyen gqi ld sO 'Agp n6u N thoi 2.5 \guoi ta dinh nghTa m6t s6 nguyQn ducrng N dugc ian *Ot hai dt€ukiQn sau: N bing 9; Gqi (1g h ti5ng c6c chfi s6 ctra Nthi (M) cflng ld sO dqp' N co phii ld s6 dqp Cho s6 nguy6n duong N (N < 10'oo), hay kigm tri xem - kh6ng? Dtng (sign: I sO l6n bing xdu ki tU vd th6rn th6ng tin i16u d€ xu li s6 lcrn le s6 thOng dm, sign: -l ni5u sO l6n ld sO am) cSch biOu di6n s6 nguy€n ni5u nguy€n lon c6 dAu nhu sau: tlpe bigNum = record sign: longint; num: string; end; *ay dgng c6c him xir U s6 nguy€n 16n c6 ddu' phan Dirng c6ch bi6u di6n s6 nguyen lon bing ming (m6i iay 2.7 mQt nhom c6c chfi s6) a) Hdy,xdy dgng c6c hirm xu li s6 nguy€n l6n' tt cria ming ld 2.8 b) st'dung hdm nhan s6 nguy€n ldn vdi s6 nh6 dii tintr M v6i TirnKchfi's6 cu6i cung ciaArf (0Inlil +wtj,i,2l ) then begin lnIj]::lntil+wtj,r,21i' trlj,3l:=i; end; unti] falsb; end; 216' Procedure ghikq.; var f :text; i, ibest : longint.; begin assign (f, fo) ; rewrite (f) best ::maxl-ongint; ; for i::1 to n if (11 til+IktilI1 [i]+lnlil begin ) then best::11[i]+fn Ii]; I L^^+ rvgD "end; L -4, -l writeln(f ,best); cfose (f); end; BEGIN doc f i l-e,' tuNha; denCoQuan; Aan'Frrrnnn gvrrY, gh i kq; END 5.33: V6 xe mi6n phi Thudt toan I; X6y dgng ming Itd le dq dai duong di ngin nh6t tt I ddn i (i:1, 2, , M, mdng RI4 h d9 ddi ducrng di ng6n nh6t tir N d6n i (i :1,2, , Af Thoi gian chuAn bf ming L vd R b[ng thu4t to6n Dijkstra Heap trdn d6 thi g6c mAt O(MogN + M Thir ldn lugt ttrng c4nh d0 chgn c4nh (i,7) me I[i]+RUl ld nho nhAt Thudt todn 2: Xdy dr;ng d6 thi mdi tt dO thig6c nhu sau.: v6i m5idinh i ctra db thig6c t4o hai ttinh cira dO thi m6i (i, 0) vi (t, 1) Tu dinh (l, l) sang dinh (7, l) c6 trgng sd bing trgng s5 c4nh (i,7), tu dinh (i, 0) sang Q, I) c6jtqng sO.bing O' Xdy dirng m{ng Lli, tl h d0 dei duong di ngdn nhat tt I d6n i (i: 1,2, ',10 dd str dsng (r : l) hay chua sir dsng (r : 0) vd khuytin mpi bing thu{t to6n Dijkstra Heap tr€n dO thirn6i v6i d0 phirc tap O(Mog// + Al) Chf :i, thuflt to6n I chi c6 thii giai v6i sd v6 khuy6n mpi ld l, nhung vdi thuQt tohn2 c6 th6 gi6i cho bdi to6n mo rQng v6i sd vd khuy6n m4i ld k, d6 thi m6i c6 (k + l)Ndinh 2t7 5.34 Hexgame ThuQt todn l: vdi m6t trang thdi cua trd choi, l6y c6c s6 tt trcn xu6ng du6i, tu trdi qua phrii r6i thay so o eau ti€n s6 9, tu dugc mQt hodn vi ctra 0, l, ,9 rrr X' ^ moi Nhu vay trang th6i cua tro choi tucrng ring v6i m6t ho6n vi cira 0, l, , (vi dp trang th6i ban dAu ld ho6n vi 1,2,3, 8, 9, 0, 4, j,6, 5) X6y dung d6 thi,' d6 m6i dinh tucmg ring ld m6t ho6n vi, cuhg gifra hai dinh cria d6 thi dugc x6c dinh bing cdch ki6m tra c6 t6n tpi ph6p bi6n eoi gita hai hodn vf hay khdng Sft dpng thuet toan BFS tr€n d6 thi vua xdy dr,rng d€ tim c6ch bi6n d6i it nh6t ThuQt todn 2; NhAn th6y, v6i mQt trang th6i chi c6 hai c6ch bi6n aoi ma gioi h4n 50o/o so uq tiem thu cua bii to6n ld s6 ph6p uien doi kh6ng vugt qu6 15, duyQt nhi phdn gi6i h4n dQ sdu ThuQt toan 3; Khao s6t bdi todn vd nh6n th6y s6 phdp bi6n d6i kh6ng wqt qu630.SudpngmQttronghaithu4tto6ntr0nnhungtimki6mtuhaidAu 5.35 Nhin tin coi m6i hoc vi€n ld mQt dinh cria d6 thi, u c6 th€ rihin tin cho hoc vi6n v canh (u, v) ung voi quan hQ: hoc vi6n DuyQt DFS, duyQt xong dinh ndo dAy dinh d6 vrio mQt danh s6ch L E6nh d6u crlc dinh ld "chua nhdn tin" X6t c6c dinh danh s6ch z, tu dinh ,.chua cu5i danh s6ch t6i dinh dAu danh s6ch, m5i trri x6t t6i -9t einn a nhfln tin", ding BFS hoflc DFS [9t k€ tAt ctr cilcdinh t'chua nhdn tin" d6n dugc tu z thdnh "dd nhdn tin", dinh u vng v6i mQt hgc vi€n md thAy gi6o ph6i nhan tin tryc ti6p Tinh dfng dEn cira thuat to6n duoc suy tu thupt to6n Kosaraju-sharir: Dinh u "chua nhin tin" dring cu6i danh s6ch z tai m6i bu6c ld tlinh thuQc mQt thdnh phAn li€n th6ng m4nh kh6ng c6 cung di vdo Thoi gian thuc hi6n thu4t todn: O(m + n) Chwong trinh { $MODE OBJFPC program Mes , l } sageSending; const InputFlle : 'MESSAGE.INpT; OutputFile = TMESSAGE.OUT' ; maxN : 100000; maxM : 100000; var n, m/ k: f nteger, 218 I adj: array[1 maxM] of Integer; Link: array[1 maxM] o.f f nLegert head: array[1 maxN] of Integer; avail: array[1 maxN] of Boolean; Stack: array[1 maxN] of Integer; roq :rrarr[1 mrwNl] tf r||qj:!!jvl+r.uvYv!, nf TnJ-onar Procedure Enter; var f : TextFil-e; rr et i ! Tnfoaar +rrvvYv! t begin AssignFile (f, InputFile) ; Reset(f) Ery Readln(f, n, m); FillDWord(head[1], n, fori::ltomdo ; 0) ; begin Read(f, u, adjlil); ]1nk Ii ] :: head [:1i] I headlul 1= 1; end,' t r-na,L I v Closerile (f); end; end; procedure Numbering; var u: fnteger; t|an ."r.+IIUvYUl' Tntanar procedure Visit (u: Tnteger) ,' var i: Integer; begin availIu] :: False; i := headlul; wf,ilei0do begin if avail- tadj til I then Visit (adj Ii] i := linklil; end; rnc ( l'op) ) ; ; StackITop] :: u; end,' begin EiI Ir-hrr/=rz=ir ToP := 0; [1], n, TrUe); foru::ltondo if avail[u] then Visit(u); end; 2t9 procedtrr€i Selecting; var i: Integer, procedure Visit (u: Intege:i) f nteger, begin ,ava1l- [u] :=.False; var i: : r h6idlrrl rlvqsLsl, while i O I begin , ; if avail ladj til I then visit (adj til l_ := _LrnK[J-1, end; H- end;' begin FilIChar (avail [1], n, True) k := 0;j ; r fori:.=ndowntoldo if avaiL tStack tiI I then begin Inc (k) ; resIk] := Stacklil; Visit (Stack til ) ; end; end; procedure Pr.intResu.L t, var f i Text.F1le; i: Integer; begin AssignFile (f, OutputFile) i Rewrite(f); try wrJ_tetn ( t, fori:=1tok finally, CloseFile end; l

Ngày đăng: 13/10/2021, 08:46

TỪ KHÓA LIÊN QUAN

w