intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Các bài toán có dữ liệu vào lớn

Chia sẻ: Le Van Dai | Ngày: | Loại File: PDF | Số trang:3

92
lượt xem
9
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Các bài toán có dữ liệu vào rất lớn, thường gây cho ta rất nhiều khó khăn. Để giải được các bài toán đó thì cần phải tìm cấu trúc dữ liệu và giải thuật thật hợp lý. Đa số các bài toán dạng này thì phải vừa đọc vừa xử lý.

Chủ đề:
Lưu

Nội dung Text: Các bài toán có dữ liệu vào lớn

  1. Các bài toán có dữ liệu vào rất lớn, thường gây cho ta rất nhiều khó khăn. Để giải được các bài toán đó thì cần phải tìm cấu trúc dữ liệu và giải thuật thật hợp lý. Đa số các bài toán dạng này thì phải vừa đọc vừa xử lý. Lấy ví dụ bài toán đơn giản sau: Bài toán: Tìm dòng đặc biệt Cho một tệp văn bản có n dòng (n
  2. - Dùng một mảng a[1..255] of byte để lưu mã ASCII của các ký tự của dòng đặc biệt - Đọc một dòng S vào và gán a[i]:=a[i] xor ord(s[i]) (i chạy từ 1 đến length(s)) - Viết ra dòng đặc biệt Chương trình: Program dong_dac_biet; Const fi = 'dacbiet.inp'; fo = 'dacbiet.out'; maxn = 255; Var a : array[1..maxn] of byte; i : integer; s : String; f : Text; Procedure Init; Begin Fillchar(a,sizeof(a),0); Assign(f,fi); Reset(f); End; Procedure Main; Begin While not eof(f) do begin Readln(f,s); If s='###' then exit; For i:=1 to length(s) do a[i]:=a[i] xor ord(s[i]); end; End; Procedure Done; Begin Close(f); Assign(f,fo); Rewrite(f); For i:=1 to maxn do if a[i]0 then write(f,chr(a[i])); Close(f); End; BEGIN Init; Main; Done; END.
  3. Thuật toán này độ phức tạp chỉ có N nên chương trình chạy rất nhanh. Ngoài ra bài này còn có một thuật toán nữa, không sử dụng phép xor nhưng phải dùng mảng 2 chiều kích thước 255*255. Bạn đọc muốn có chương trình này xin liên hệ với toà soạn hoặc với tác giả. Bài tập: Các bạn có thể làm bài số 1 trong đề thi quốc gia 2001 (Bảng B) Cấp số cộng Cho một tệp văn bản gồm N (N rất lớn) số nguyên a1, a2, a3,..., an ; với ai
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2