Thứ Hai, 10 tháng 10, 2016

Cập nhật phiên bản TKB2016

Cập nhật phần mềm xếp TKB2016.
Một số lỗi quan trọng bên trong đã được sửa. Mã chương trình không đổi. Các bạn cài đè vào đường dẫn của phiên bản cũ.
Giao diện không thay đổi.
Các bạn đã sử dụng phiên bản TKB2014 có thể cập nhật theo đường link dưới.
Chú ý: phần xếp TKB trường Tiểu học chưa được phù hợp. Hy vọng sẽ có bản cập nhật vào năm 2017.
Link:
https://drive.google.com/open?id=0B6ZzQE6AlCKDbE5RVTQxajFINW8

Tác giả.

Thứ Sáu, 19 tháng 12, 2014

Hỏi - Đáp về HSG 10

Các em nếu cần hỏi gì về bài toán học sinh giỏi 10 thì viết dưới đây.
Thầy.

Thứ Ba, 29 tháng 7, 2014

TKB2014

Với phương châm không ngừng cải tiến, phần mềm xếp thời khóa biểu liên tục được cập nhật những tính năng mới, TKB2014 là phiên bản mới nhất, mạnh nhất của chúng tôi.

Nhằm tránh cho người dùng truyền thống khỏi bỡ ngỡ nên chúng tôi vẫn giữ lại giao diện của phiên bản 2013, những thay đổi chỉ trong lõi phần mềm, tất cả dữ liệu của các phiên bản trước (2009, 2011, 2013) đều tương thích.

TKB2014 đem lại những tính năng thú vị:
  • Hướng tối ưu TKB giáo viên: giảm buổi dạy, giảm tiết trống, giảm giáo án, cân bằng số tiết dạy, tránh tiết dạy,...
  • Hướng tối ưu TKB học sinh: cân bằng số môn học, giảm số môn học, cân bằng số tiết học tự nhiên - xã hội trên mỗi buổi,...
  • Thuận lợi cho quản lý:
  1. Xếp TKB trường THPT, THCS, Tiểu học. Đã hỗ trợ triệt để cho trường Tiểu học.
  2. Xếp 2 ca trên cùng 1 TKB.
  3. Ba công cụ di chuyển mạnh mẽ, trong đó có xuất phát đích trong cùng một buổi.
  4. Bốn hệ điều hành thông dụng: Windows XP, Vista, 7 và 8 cho 32bit và 64bit. 
  5. Xuất 5 định dạng TKB khác nhau (toàn trường, giáo viên, lớp,...)
    ....
Chỉ với một chi phí nhỏ, các bạn có thể sử dụng toàn bộ những tính năng mạnh mẽ đó. Tuy nhiên phần mềm sẽ chỉ bị khóa 2 chức năng: di chuyển xuất phát - đích trong TKBGV và xuất TKB nếu bạn dùng miễn phí.
Mọi góp ý, thắc mắc, hay cần hỗ trợ khi các bạn gặp khó khăn trong quá trình xếp thời khóa biểu có thể trao đổi với tác giả thông qua công cụ trực quan Teamviewer hay ngay dưới bài viết này.

Nếu các bạn có cài đặt lại máy (Windows) thì nhớ mã chương trình (hình chìa khóa) và cài lại chương trình TKB, sau đó điền lại mã chương trình đó, mã này vẫn không thay đổi, các bạn cứ an tâm.

Các bạn đang dùng phần mềm TKB, nếu trong hợp đồng hay được tặng vẫn còn thời hạn sử dụng thì hãy cập nhật phiên bản này (ngày 24/08/2014), chúng tôi đã sửa những lỗi quan trọng và cung cấp khả năng di chuyển mới, thêm màu sắc cho TKB,... mà không thu thêm phí. Khi cập nhật thì không bị mất dữ liệu cũng như mã chương trình trước đây. Ngoài ra, mong các bạn thông báo cho các bạn khác biết thông tin đó. 

Xin cảm ơn.

Link download TKB2014 (cập nhật ngày 26/08/2014) hoặc link download từ googledrive
Link download Teamviewer

Video hướng dẫn nhập phân công chuyên môn trường trung học:
link download từ mediafire
link download từ googledrive

Video hướng dẫn xếp TKB trường trung học:
link download từ mediafire
link download từ googledrive

Link download TKB2011



Chủ Nhật, 30 tháng 3, 2014

Đề - Đáp án Tin học 10 - Bài 3 - Olympic 30/4/2012 - Đoạn hoán vị

Cho dãy số A gồm N số nguyên dương a1, a2,.., aN, mỗi phần tử chỉ xuất hiện đúng 1 lần. (1<=N, ai<=10^5).
YC: Hãy tìm đoạn dài nhất gồm các phần tử trong dãy trên tạo thành một hoán vị các phần tử của tập {1, 2,..., K} (1<=K<=N). Nếu không tìm dc thì trả về 0, ngược lại trả về vị trí bắt đầu imax và độ dài dmax.
Ví dụ:
PASWAP.INP
PASWAP.OUT
7
10 9 3 4 1 2 8
3
4

Lời giải O(N^3)
procedure try;
var i,j
begin
   for i...
       for j...
           if isOK(i,j) then update; //O(N)
Hai vòng lặp for có dpt O(N^2), kiểm tra xem đoạn a[i],.. a[j] có thỏa mãn hoán vị có dpt O(N). Đpt tổng thể là O(N^3).

Lời giải O(N^2)
Bằng cách kết hợp cấp số cộng, tổng tích lũy, chi phí kiểm tra isOK(i,j) chỉ còn O(1).

Lời giải O(NlogN)
Kết hợp Binary Search.

Thứ Sáu, 28 tháng 3, 2014

Đề - Đáp án Tin học 10 - Bài 2 - Olympic 30/4/2012 - Xây dựng hệ thống lưới điện

Công ty truyền tải điện ABC đang thực hiện dự án cung cấp cho một số xã vùng cao của một huyện miền núi. Dự án đã thực hiện được giai đoạn 1, cty đã xây dựng dc N trạm biến áp đặt tại N địa điểm trên địa bàn. Các trạm biến áp này dc đánh số từ 1 đến N (2 <=N<=600). Hiện nay cty tiếp tục thực hiện giai đoạn 2 là cần nối N-1 đường dây điện giữa các trạm biến áp này sao cho khi một trạm biến áp bất kỳ dc nối với lưới điện quốc gia thì tất cả các trạm đều dc cung cấp điện. Hiện tại giữa các trạm biến áp này đã có M (N<=M<=2000) con đường bộ để từ trạm biến áp này có thể đi đến bất kỳ trạm biến áp khác và các hộ dân đều đang sống trên con đường này. Để nối đường dây giữa 2 trạm khác nhau, trạm thứ i với trạm thứ j thì có thể cung cấp dc điện sinh hoạt cho C[i,j] (0<=C[i,j]<=1000) hộ gia đình sống dọc theo con đường này.
Yêu cầu: Tính cách nối dây để cung cấp điện sinh hoạt cho nhiều hộ nhất.
Ví dụ:
ELECTRIC.INP
ELECTRIC.OUT
3 3
1 2 9
1 3 6
2 3 7
16

Lời giải:
C[i,j]:=-C[i,j]. Áp dụng Kruskal.

Đề - Đáp án Tin học 10 - Bài 1 - Olympic 30/4/2012 - Robot nhặt vàng

Cho hình chữ nhật NxM ô vuông, mỗi ô vuông ghi một số nguyên có giá trị không vượt quá 100 thể hiện số lượng vàng robot nhặt được vào ô đó. Một robot đứng tại góc trái trên muốn di chuyển xuống góc phải dưới của hcn. Mỗi bước robot di chuyển sang ô bên phải hoặc ô dưới ô đang đứng.
YC: Tìm con đường robot đi sao nhặt được số lượng vàng nhiều nhất.
DL vào: ROBOT.INP
- Dòng đầu chứa N và M (1<=N, M <=1000)
- N dòng sau, mỗi dòng có M số thể hiện số lượng vàng.
Kết quà: ROBOT.OUT, ghi tổng số lượng vàng nhặt được.
Ví dụ:
ROBOT.INP
ROBOT.OUT
3 4
1 1 1 1
5 2 2 100
9 4 2 1
111

Lời giải:
Phương pháp qui hoạch động đơn giản như sau:
F[i,j] = Max(F[i-1,j], F[i,j-1])+a[i,j], i:[1,N], j:[1,M]
Out: F[N,M]
Độ phức tạp O(NxM)


Thứ Hai, 24 tháng 3, 2014

Đề - Đáp án bài 1 - HSG QG 2014

Địa điểm du lịch Dailai nổi tiếng với con đường Tùng-Trúc. Đó là một con đường dài và thẳng, dọc bên đường người ta trồng rất nhiều cây tùng và cây trúc. Với mục đích tạo điểm nhấn cho con đường, Ban quản lý khu du lịch muốn chọn một đoạn đường mà dọc theo nó có ít nhất a cây tùng và có ít nhất b cây trúc để trang trí. Sau khi khảo sát, Ban quản lý ghi nhận được vị trí của từng cây tùng và cây trúc. Trên con đường có tất cả n cây, không có hai cây nào ở cùng một vị trí. Cây thứ i ở vị trí có khoảng cách đến vị trí bắt đầu của con đường là d_i (i = 1, 2, ..., n). Với kinh phí có hạn, Ban quản lý muốn chọn một đoạn đường thỏa mãn điều kiện đã nêu với độ dài là ngắn nhất.
Yêu cầu: Cho a, b và vị trí của n cây. Hãy tìm đoạn đường có độ dài ngắn nhất mà dọc theo đoạn đường đó có ít nhất a cây tùng và b cây trúc.
Dữ liệu vào: MINROAD.INP
- Dòng đầu chứa 3 số nguyên dương n, a, b (a + b ≤ n)
- Dòng thứ i trong n dòng tiếp theo mỗi dòng chứa hai số nguyên dương d_i (d_i ≤ 10^9) trong đó d_i là khoảng cách của cây tính từ vị trí bắt đầu của con đường, k_i = 1 nếu cây thứ i là cây tùng, k_i = 2 nếu là cây trúc.
Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách.
Dữ liệu ra: MINROAD.OUT
Ghi ra một số nguyên là độ dài đoạn đường ngắn nhất tìm được, quy ước ghi số -1 nếu không tồn tại đoạn đường nào thỏa mãn điều kiện đặt ra.
Giới hạn:
d_i ≤ 10^9.
30% số test có n ≤ 300.
30% số test khác có n ≤ 3 000.
40 % số test còn lại có n ≤ 300 000.
Ví dụ:

MINROAD.INP
MINROAD.OUT
7 2 2
20 2
30 1
25 1
35 1
60 2
65 2
10 1
35



Lời giải O(N^3)
Vector nghiệm (x1,x2)
QuickSort(D);           //O(NlogN)
isOK(x1, x2);            //1 vòng lặp đếm số cây, O(N)
Try;                             //2 vòng lặp liệt kê, O(N^2)
Độ phức tạp tổng thể:
Số lần thử O(N^2) * Chi phí kiểm tra O(N) = O(N^3)
Lời giải O(N^2)
QuickSort(D);           //O(NlogN)
SumK1[i], SumK2[i], "i Î[1,n]     //O(N)
isOK(x1, x2);            //O(1)
Try;                             //2 vòng lặp liệt kê, O(N^2)
Độ phức tạp tổng thể:
Số lần thử O(N^2) * Chi phí kiểm tra O(1) = O(N^2)
Lời giải O(NlogN)
Thủ tục Try chỉ cần 1 vòng lặp x2, chi phí của isOK(x2) là O(logN).
Độ phức tạp tổng thể:
Số lần thử O(N) * Chi phí kiểm tra O(logN) = O(NlogN)