Thứ Năm, 1 tháng 12, 2016

Kamp 02



Cho đồ thị vô hướng liên thông có trọng số G=(VG, EG), trong đó VG là tập các đỉnh của G, EG là tập các cạnh của G. Đồ thị G có n đỉnh và n-1 cạnh, các đỉnh được đánh số từ 1 đến n
Một đồ thị G’=(VG’, EG’) được gọi là đồ thị con của G khi VG’⊆VG và EG’ ⊆ EG.
Giá trị của một đồ thị là tổng trọng số các cạnh trong đồ thị đó.
Cho tập X (X⊆VG) gồm k đỉnh. Gọi G’ (đồ thị con của G) là đồ thị liên thông có giá trị nhỏ nhất chứa tập X
Hãy xác định khoảng cách ngắn nhất từ đỉnh u (1≤u≤n) đến G’
Dữ liệu vào: Từ tệp văn bản KAMP02.INP
+ Dòng đầu tiên ghi 2 số nguyên dương nk   (1≤K≤N≤500000)
+ n-1 dòng tiếp theo, mỗi dòng 3 số nguyên u, v, c cho biết c  là trọng số của cạnh (u,v). (1≤u, v≤n;  1≤c≤106)
+ Tiếp theo gồm k dòng, mỗi dòng ghi 1 số nguyên là số hiệu của đỉnh thuộc tập X
Dữ liệu ra: ghi vào tệp văn bản KAMP02.OUT
+ Gồm n dòng, dòng thứ i ghi khoảng cách nhỏ nhất của đỉnh u đến G’
Ví dụ:
KAMP02.INP
KAMP02.OUT

KAMP02.INP
KAMP02.OUT
5 2
2 5 1
2 4 1
1 2 2
1 3 2
4
5
2
0
4
0
0

7 2
1 2 4
1 3 1
2 5 1
2 4 2
4 7 3
4 6 2
3
7
0
0
0
0
1
2
0

Thứ Ba, 29 tháng 11, 2016

KAMP 01



Cho đồ thị vô hướng liên thông có trọng số G=(VG, EG), trong đó VG là tập các đỉnh của G, EG là tập các cạnh của G. Đồ thị G có n đỉnh và n-1 cạnh, các đỉnh được đánh số từ 1 đến n
Một đồ thị G’=(VG’, EG’) được gọi là đồ thị con của G khi VG’⊆VG và EG’ ⊆ EG.
Giá trị của một đồ thị là tổng trọng số các cạnh trong đồ thị đó.
Cho tập X (X⊆VG) gồm k đỉnh. Hãy xác định đồ thị G’ liên thông có giá trị nhỏ nhất chứa tập X
Dữ liệu vào: Từ tệp văn bản KAMP01.INP
+ Dòng đầu tiên ghi 2 số nguyên dương nk   (1≤K≤N≤500000)
+ n-1 dòng tiếp theo, mỗi dòng 3 số nguyên u, v, c cho biết c  là trọng số của cạnh (u,v). (1≤u, v≤n;  1≤c≤106)
+ Tiếp theo gồm k dòng, mỗi dòng ghi 1 số nguyên là số hiệu của đỉnh thuộc tập X
Dữ liệu ra: ghi vào tệp văn bản KAMP01.OUT
+ Một số nguyên duy nhất là giá trị nhỏ nhất của G’
Ví dụ:
KAMP01.INP
KAMP01.OUT

KAMP01.INP
KAMP01.OUT
5 2
2 5 1
2 4 1
1 2 2
1 3 2
4
5
2

7 2
1 2 4
1 3 1
2 5 1
2 4 2
4 7 3
4 6 2
3
7
10

Thứ Hai, 28 tháng 11, 2016

Sử dụng Internet



Tero rất giỏi trong việc thỏa thuận sử dụng internet với người cung cấp dịch vụ. Mỗi tháng người cung cấp dịch vụ Internet sẽ cho phép Tero sử dụng định mức X Megabyte. Với mỗi Megabyte Tero không sử dụng trong tháng này sẽ được chuyển qua sử dụng trong những tháng tiếp theo.
Cho biết lượng Megabyte mà Tero sử dụng trong N tháng đầu tiên. Hãy xác định trong tháng thứ N+1 Tero có thể sử dụng tối đa bao nhiêu Megabyte.
Dữ liệu vào: Từ tệp văn bản TERO.INP
+ Dòng đầu tiên ghi số nguyên dương X  (1≤X≤100)
+ Dòng thứ 2 ghi số nguyên dương N (1≤N≤100)
+ N dòng tiếp theo, dòng thứ i ghi số nguyên pi cho biết trong ngày thứ i Tero sử dụng pi Megabyte
(1≤pi ≤10000)
Dữ liệu ra: một số nguyên duy nhất cho biết kết quả của bài toán
Ví dụ:
TERO.INP
TERO.OUT
10
3
4
6
2
28

Giải thích:

Mỗi ngày Tero được sử dụng tối đa X=10Mb

 Tero đã sử dụng N=3 ngày

Ngày đầu Tero dùng 4Mb, còn 6Mb chuyển qua ngày thứ 2, như vậy ngày thứ 2 Tero có thể sử dụng 10+6=16Mb

Ngày thứ 2 Tero dùng 6Mb, còn 10Mb chuyển qua ngày thứ 3, như vậy ngày th3 Tero có thể sử dụng 10+10=20Mb

Ngày thứ 3 Tero dùng 2Mb, còn 18Mb chuyển qua ngày thứ 4

Như vậy ngày th4 Tero có thể sử dụng 18+10=28Mb