Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
136 KB
Nội dung
TRƯỜNG THPT CHUYÊN LÊ HỒNG PHONG ĐỀ THI ĐỀ XUẤT MÔN TIN HỌC KHỐI 11 NĂM 2022 Thời gian làm 180 phút ( Đề thi có 03 trang, gồm 03 câu) ĐỀ THI ĐỀ XUẤT Bài - Tên Tên tệp chương trình Tên tệp liệu Tên tệp kết Sô cô la Chocolate.* chocolate.inp chocolate.out Mua sắm shopping.* shopping.inp shopping.out Đường ngắn Cartesius.* cartesius.inp cartesius.out * kí hiệu phần mở rộng chương trình viết ngơn ngữ lập trình C++ (cpp) Pascal (pas) Bài (6 điểm) Sô cô la Sô cô la cơng ty X sản xuất có dạng dài, có kích thước 1xN, tạo thành N hình vng Trên hình vng lại in khung cảnh theo mẫu, thuộc N mẫu khung cảnh khác công ty X sản xuất Mỗi sơ la khác thứ tự xuất khung cảnh N mẫu khung cảnh Yêu cầu toán: Viết chương trình xác định số mảnh mà sô cô la cần bẻ để tạo thành sô cô la thứ hai cách xếp lại mảnh Chỉ phép phá vỡ ô dọc theo đường viền sô cô la, không lật lại ô phần sô cô la Input: Dữ liệu vào từ tệp chocolate.inp, dòng gồm số tự nhiên N ( ≤ N ≤ 105 ), mơ tả kích thước sơ la, tức số vng Tất khung cảnh in sô cô la đánh số từ tới N Dòng thứ hai dòng thứ ba tệp, dòng gồm N số tự nhiên khác (tất số không vượt N), mô tả thứ tự mẫu khung cảnh in ô vuông sô cô la thứ thứ hai, tương ứng Biết rằng, thứ tự khác Output: Đưa liệu tệp chocolate.out, số mảnh nhỏ mà sô cô la bị phá vỡ để sau xếp lại phần này, ta có số thứ tự khung cảnh in sô cô la thứ hai Chocolate2.inp 43251 Chocolate2.out Giải thích Thanh sơ la chia thành bốn phần: hình vng 12534 4, hình vng 3, hai hình vng 5, hình vng Bằng cách xếp lại phần vào vị trí, ta thu thứ tự khung cảnh sô cô la thứ hai Giới hạn: Subtask 20% số điểm tương ứng với ≤ N ≤ Subtask 20% số điểm tương ứng với < N ≤ Subtask 30% số điểm tương ứng với < N ≤ 1000 Subtask 30% số điểm tương ứng với 1000 < N ≤ 105 Bài (7 điểm) Trung tâm mua sắm Công ty X chuẩn bị xây dựng tòa nhà mảnh đất hình vng có diện tích NxN mét vng Có số giới hạn định chiều cao tòa nhà Nếu chia mảnh đất thành ô vuông theo chiều dọc chiều ngang, ô vng rộng mét, tồn tịa nhà trung tâm mua sắm nằm phần có giới hạn chiều cao Các kiến trúc sư muốn xây dựng tịa nhà theo hình dạng hình hộp chữ nhật Yêu cầu toán: Viết chương trình biết kích thước mảnh đất giới hạn chiều cao cho đất, tìm thể tích lớn tịa nhà hình hộp chữ nhật xây dưng mảnh đất Input: Dữ liệu vào từ tệp shopping.inp gồm ba dòng Dòng gồm số nguyên N ( ≤ N ≤ x104 ) Dòng thứ hai gồm N số nguyên khơng âm, số khơng vượt q 105, giới hạn chiều cao cho ô đất theo chiều dọc Dịng thứ ba gồm N số ngun khơng âm, mối số khơng vượt q 10 5, giới hạn chiều cao cho ô đất theo chiều ngang Output: Dữ liệu đưa tệp shopping.out, gồm số nhất, thể tích tối đa tịa nhà trung tâm mua sắm xây dựng mảnh đất cho Dữ liệu đầu vào đảm bảo xây dựng tịa nhà tích khác mảnh đất shopping.inp 010 020 321 123 Shopping.out Giới hạn: Subtask 10% số điểm tương ứng với ≤ N ≤ 10 Subtask 10% số điểm tương ứng với 10 < N ≤ 30 Subtask 10% số điểm tương ứng với 30 < N ≤ 70 Subtask 30% số điểm tương ứng với 70 < N ≤ 1000 Subtask 40% số điểm tương ứng với 1000 < N ≤ 5.104 Bài (7 điểm) Đường ngắn Đảo X gồm Nx thành phố, số cặp thành phố nối với đường hai chiều Mỗi đường có độ dài riêng Tổng số đường đảo X Mx, biết từ thành phố đảo X đường đến thành phố khác đảo Các thành phố đảo X đánh số từ tới Nx Tương tự, đảo Y gồm Ny thành phố, số cặp thành phố nối với đường hai chiều Mỗi đường có độ dài riêng Tổng số đường đảo Y My, biết từ thành phố đảo Y đường đến thành phố khác đảo Các thành phố đảo Y đánh số từ tới Ny Quốc gia XY bao gồm N=Nx.Ny thành phố, thành phố quốc gia XY gán tương ứng 1-1 với cặp thành phố (x,y) đảo X đảo Y, với x thành phố đảo X, y thành phố đảo Y Một cặp thành phố quốc gia XY nối với đường hai chiều Có M=Nx.My+Ny.Mx đường quốc gia XY Con đường thành phố (x1,y1) (x2,y2) định nghĩa sau: Nếu x1=x2, có đường nối thành phố y1 y2 đảo Y Độ dài đường thành phố (x,y1) (x,y2) độ dài đường nối thành phố y1 y2 Nếu y1=y2, có đường nối thành phố x1 x2 đảo X Độ dài đường giũa thành phố (x1,y) (x2,y) độ dài đường thành phố x1 x2 Các thành phố của đảo khác không nối với đường Yêu cầu tốn: Bài tốn gồm có hai u cầu u cầu Xác định độ dài đường ngắn dọc theo đường từ thành phố (1,1) đến thành phố (Nx,Ny) Yêu cầu Một số đường quốc gia XY cần đóng lại Nhiệm vụ bạn xác định tổng chiều dài nhỏ đường lại quốc gia XY, để từ thành phố tới thành phố khác Input: Dữ liệu vào từ tệp cartesius.inp, dòng yêu cầu cần giải (1 2) Dòng thứ hai gồm số tự nhiên Nx Mx ( ≤ Nx ≤ 5.104 ,1 ≤ Mx ≤ 5.104 ), số thành phố số đường đảo X Mx dịng sau mơ tả đường đảo X: dịng gồm ba số, hai số đầu mô tả đường nối hai thành phố, số thứ ba chiều dài đường (một số tự nhiên khơng vượt q 10 7) Dịng tệp đầu vào gồm số tự nhiên Ny My ( ≤ Ny ≤ 5.104 ,1 ≤ My ≤ 5.104 ), số thành phố số đường đảo Y Những dịng sau mơ tả đường đảo Y, với ràng buộc tương tự mô tả đường đảo X Ouput: Đưa liệu tệp cartesius.out, gồm số nguyên, câu trả lời cho câu hỏi toán cartesius.inp 32 15 14 32 15 15 32 15 14 32 15 15 cartesius.out 44 117 Giới hạn: Subtask 12% số điểm tương ứng với việc giải yêu cầu 1, số Nx, Mx, Ny,My không vượt 200 Subtask 28% số điểm tương ứng với việc giải yêu cầu 1, khơng có giới hạn thêm Subtask 12% số điểm tương ứng với việc giải yêu cầu 2, số Nx, Mx, Ny,My không vượt 200 Subtask 48% số điểm tương ứng với việc giải u cầu 2, khơng có giới hạn thêm ĐÁP ÁN ĐỀ ĐỀ XUẤT DUYÊN HẢI MÔN TIN KHỐI 11 NĂM HỌC: 2022-2023 Bài Xem xét hai hình vng liền kề sô cô la Nếu ô thứ hai, chúng không đứng cạnh theo thứ tự, ô đường giao ô vuông cách hay cách khác phải phá vỡ Tuy nhiên, việc phá vỡ ô tất nơi chúng tơi có phần, phần mảnh hình vng liên tiếp phần thứ hai Do đó, làm theo bước ta có thứ tự ô thứ hai Vì vậy, ta phải tìm số số thứ hai phía trước có ý nghĩa hay khơng Để làm điều này, bạn cho tất số thực tìm kiếm riêng biệt hai ô (điều tạo độ phức tạp � (� 2)) Hoặc duyệt để tạo cho mảng mục � [�], với �, ⩽ � ⩽ �, theo dõi số ô trước � (hoặc, giả sử, 0, � số gạch) Sau đó, từ trái sang phải thứ hai, bạn Do đó, thuật tốn hoạt động O(N) thời gian #include using namespace std; void nhapxuat() { freopen("chocolate2.inp", "r", stdin); freopen("chocolate2.out", "w", stdout); } #define ll long long ll n, a[100005], b[100005]; ll pos[100005], ans; int main() { nhapxuat(); ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n; for(int i = 1; i > a[i]; for(int i = 1; i > b[i]; pos[b[i]] = i; } int i = 1; int j = 1; while(i x; a[i]={x,i}; } sort(a.begin()+1,a.end(),cmp); for(i=1;i ux[i] >> vx[i] >> cx[i]; a[++m].u = ux[i]; a[m].v = vx[i]; a[m].c = cx[i]; a[m].loai = 1; gx[ux[i]].push_back({vx[i], cx[i]}); gx[vx[i]].push_back({ux[i], cx[i]}); } cin >> ny >> my; gy.resize(ny+1); for(int i = 1; i > uy[i] >> vy[i] >> cy[i]; a[++m].u = uy[i]; a[m].v = vy[i]; a[m].c = cy[i]; a[m].loai = 2; gy[uy[i]].push_back({vy[i], cy[i]}); gy[vy[i]].push_back({uy[i], cy[i]}); } if(type == 1) sub1(); else sub2(); return 0; } 12 ... max(f[i]*d[i]*i) - Độ phức tạp O(n*log(n)) #include using namespace std; #define ll long long #define ii pair #define fi first #define se second const ll N=1e5+5,M=1e9; ll n,i,d[4*N+1],L[4*N+1],R[4*N+1],s[4*N+1],c[N+1],f[N+1],ans;... thông, bỏ qua #include using namespace std; void nhapxuat() { freopen("cartesius.inp", "r", stdin); freopen("cartesius.out", "w", stdout); } #define ll long long typedef pair... động O(N) thời gian #include using namespace std; void nhapxuat() { freopen("chocolate2.inp", "r", stdin); freopen("chocolate2.out", "w", stdout); } #define ll long long ll n,