Nguồn đề bài http://vn.spoj.com/problems/LATGACH/ 1. Đề bài LATGACH spoj Cho một hình chữ nhật kích thước 2xN (1<=N<=100). Hãy đếm số cách lát các viên gạch nhỏ kích thước 1×2 và 2×1 vào hình trên sao cho không có phần nào của các viên gạch nhỏ thừa ra ngoài, cũng không có vùng diện tích nào của […]
lời giải QBBISHOP spoj – VOI06 Quân tượng
Nguồn đề bài: http://vn.spoj.com/problems/QBBISHOP/ 1. Đề bài QBBISHOP spoj Xét bàn cờ vuông kích thước n×n. Các dòng được đánh số từ 1 đến n, từ dưới lên trên. Các cột được đánh số từ 1 đến n từ trái qua phải. Ô nằm trên giao của dòng i và cột j được gọi là ô (i,j). […]
lời giải MDIGITS2 – First Number
Viết các số thập phân 1, 2,… liên tiếp thu được dãy số sau: 12345678910111213141516171819202122 … Viết chương trình tìm vị trí xuất hiện đầu tiên của số N trong dãy số trên: Input Gồm duy nhất 1 số N, 1 ≤ N ≤ 100,000. Output Sô duy nhất là vị trí xuất hiện đầu […]
Lời giải LATGACH4 – Lát gạch 4
Nguồn bài http://vn.spoj.com/problems/LATGACH4/ Đề bài LATGACH4 spoj Cho một hình chữ nhật kích thước 2xN (1<=N<10^9). Hãy đếm số cách lát các viên gạch nhỏ kích thước 1×2 và 2×1 vào hình trên sao cho không có phần nào của các viên gạch nhỏ thừa ra ngoài, cũng không có vùng diện tích nào của hình chữ […]
hướng dẫn EXPAR – spoj
Nguồn đề bài http://vn.spoj.com/problems/EXPAR/ 1. Đề bài EXPAR spoj Cho biểu thức số học chỉ chứa hai biến x, y, các hằng số và các phép toán +,−,×. Hãy xác định tính chẵn – lẻ của kết quả biểu thức dựa trên tính chẵn – lẻ của hai biến x, y. Input Dòng 1: xâu S có […]
YB_KT2B2 spoj THPTCBT – 20686. Phần thưởng
Nguồn đề bài http://www.spoj.com/THPTCBT/problems/YB_KT2B2/ Đề bài YB_KT2B2 spoj TIMBERSAW oai hùng ngày nào nay đã trở thành bác bảo vệ của rừng Radiant (có dạng hình chữ nhật kích thước MxN). Để đền đáp công lao to lớn của TIMBERSAW, Chúa đất cho phép anh chọn một khu rừng hình chữ nhật có kích thước k*k, có […]
BONUS spoj – VOI 2011 Phần thưởng
Nguồn đề bài: http://vn.spoj.com/problems/BONUS/ 1. Đề bài BONUS Spoj Tuấn là người chiến thắng trong một cuộc thi “tìm hiểu kiến thức vũ trụ” và được nhận các phần thưởng do công ty XYZ tài trợ. Các phần thưởng được bố trí trên một bảng hình vuông nxn có dạng một lưới ô vuông kích thước đơn […]
QBRECT spoj – Hình chữ nhật 0 1
Nguồn đề bài: http://vn.spoj.com/problems/QBRECT/ Đề bài QBRECT spoj Cho một bảng kích thước MxN, được chia thành lưới ô vuông đơn vị M dòng N cột ( 1 <= M, N <= 1000 ) Trên các ô của bảng ghi số 0 hoặc 1. Các dòng của bảng được đánh số 1, 2… M theo thứ tự […]
MTHCN spoj – Hình chữ nhật kì lạ
1. Đề bài MTHCN spoj bạn có thể submit tại: http://www.spoj.com/THPTCBT/problems/MTHCN/ http://vn.spoj.com/problems/MTHCN/ Trong giờ học toán, Miticc cảm thấy rất chán nản với môn hình học,… Anh ta quyết định buông viết và làm 1 giấc, trong mơ Miticc đã gặp một chú bò, anh ta đã được chú bò giới thiệu một trò chơi hết […]
LIS spoj – Dãy con tăng dài nhất (bản khó)
Nguồn đề bài http://vn.spoj.com/problems/LIS/ Đề bài LIS Spoj Tìm dãy con tăng dài nhất, số lượng phần tử tối đa 30000. In ra số lương lớn nhất có thể Input: 5 2 1 4 3 5 Output: 3 Link nộp bài: http://vn.spoj.com/problems/LIS/ Code Lis spoj Pascal
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | const fi= ''; fo= ''; maxd= 30001; var a: array[0..maxd] of longint; l: array[0..maxd] of integer; n: longint; d: longint; procedure mofile; var i,j:integer; begin assign(input,fi);reset(input); assign(output,fo);rewrite(output); end; procedure dongfile; begin close(input);close(output); end; procedure nhap; var i:longint; f:text; begin assign(f,fi); reset(f); readln(f,n); for i:=1 to n do read(f,a[i]); close(f); end; procedure xuli; var i,k,dau,cuoi:longint; begin l[1]:=1;d:=1; for i:=2 to n do begin if a[i]>a[l[d]] then begin inc(d); l[d]:=i; end else begin dau:=1; cuoi:=d; while dau<cuoi do begin k:=(dau+cuoi) div 2; if a[l[k]]<a[i] then dau:=k+1 else cuoi:=k; end; l[dau]:=i; end; end; end; procedure xuat; begin write(d); end; begin nhap; xuli; xuat; end. |