Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
742,67 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT HÀM RỒNG SÁNG KIẾN KINH NGHIỆM MỘT SỐ BÀI TOÁN BỒI DƯỠNG HỌC SINH GIỎI MÔN TIN HỌC 11 Người thực hiện: Nguyễn Thị Mai Hương Chức vụ: Giáo viên SKKN thuộc lĩnh mực (mơn): Tin học THANH HỐ NĂM 2021 MỤC LỤC A ĐẶT VẤN ĐỀ 1 Lý chọn đề tài Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu B NỘI DUNG Bài Nộp hồ sơ đại học Bài Khối lập phương Bài 3: Biến đổi dãy số Bài Look and Say 11 Bài Dãy hoàn hảo 13 C KẾT LUẬN 16 TÊN ĐỀ TÀI: MỘT SỐ BÀI TOÁN BỒI DƯỠNG HỌC SINH GIỎI MÔN TIN HỌC 11 A ĐẶT VẤN ĐỀ Lý chọn đề tài Để giải tốn nói chung tốn Tin học nói riêng việc xác định Thuật tốn để giải tốn cơng việc đặc biệt quan trọng Việc có nghĩa muốn giải toán Tin học trước hết ta phải giải toán góc độ Tốn học, hình thành Thuật tốn để cài đặt vào chương trình máy tính Đối với học sinh trường THPT, chương trình Tin học 11 cung cấp cho học sinh cách tư giải toán với hỗ trợ Ngơn ngữ lập trình cụ thể Ngơn ngữ lập trình PASCAL, C++ Đây ngơn ngữ sử dụng để tham gia kỳ thi học sinh giỏi tỉnh môn Tin học Vấn đề đặt với chương trình lớp 11 nhà trường THPT học năm nên để sử dụng nhuần nhuyễn ngơn ngữ lập trình để tiến hành cài đặt thuật toán học sinh phải va chạm với tương đối nhiều với hệ thống tập Vì việc đưa hệ thống tập để học sinh thực hành nhiều hơn, từ sử dụng linh hoạt ngơn ngữ lập trình cài đặt Thuật tốn máy tính cần thiết Đối tượng phạm vi nghiên cứu - Môn Tin học lớp 11 trường THPT; - Học sinh đội tuyển tin học khối 11 trường THPT Hàm Rồng; Phương pháp nghiên cứu - Phân tích, tổng hợp, khảo sát - Đánh giá so sánh kết học sinh; B NỘI DUNG Bài Nộp hồ sơ đại học Có M thí sinh nộp hồ sơ vào đại học Có N bàn làm việc để nhận hồ sơ thí sinh Bàn thứ k cần Tk giây để xử lí xong hồ sơ thí sinh Tại thời điểm 0, tất bàn làm việc trống M thí sinh xếp hàng, thí sinh đến bàn làm việc trống để nộp hồ sơ Bàn làm việc Tk giây để xử lí hồ sơ thí sinh đó, lại trống sau Tk giây để sẵn sàng nhận hồ sơ Bạn tính xem sau giây tất thí sinh nộp xong hồ sơ Input: Từ tệp NOPHOSO.INP gồm - Dòng chứa hai số nguyên N M (1≤N≤105; 1≤M≤109 ) - N dòng tiếp theo, dòng thứ k chứa số nguyên Tk (1≤Tk≤109) Output: In số nguyên thời gian ngắn để xử lí tất hồ sơ Ví dụ: Test 01 NOPHOSO.INP 26 NOPHOSO.OUT 18 10 02 10 8 Giải thích test 01: Thời điểm (giây) Bàn Hành động Nhận hồ sơ thí sinh Nhận hồ sơ thí sinh Xong hồ sơ thí sinh 1, nhận hồ sơ thí sinh 10 Xong hồ sơ thí sinh 2, nhận hồ sơ thí sinh 14 Xong hồ sơ thí sinh 3, nhận hồ sơ thí sinh 20 Xong hồ sơ thí sinh 21 Xong hồ sơ thí sinh 5, nhận hồ sơ thí sinh 28 Xong hồ sơ thí sinh Ý tưởng tham khảo: Chặt nhị phân thời gian, với giá trị thời gian X tính coi dãy N xử lý hồ sơ có lớn M hay khơng Chương trình tham khảo: #include #define Nekan "application" #define fi first #define se second #define pb push_back #define LL long long #define pii pair #define forr(i,a,b) for(int i=(a);i>n>>m; forr(i,1,n) cin>>a[i]; LL L= 1, R= 1e18, res= 1; while (L = m) { R= mid-1; ans= mid; } else L= mid+1; } coutn>>k; LL s= 0; forr(i,1,n) { cin>>a[i]; a[i]-= k; a[i]+= a[i-1]; if (a[i] != && m[a[i]] == 0) m[a[i]] = i; if (i - m[a[i]] >= ans) { if (i - m[a[i]] > ans) L= m[a[i]] + 1; else if (L > m[a[i]] + 1) L= m[a[i]] + 1; ans= i - m[a[i]]; } } if (ans == 0) cout