Ams QG 12 - 7 - 23
SGraph
Nộp bàiPoint: 100
Cho một đồ thị gồm ~n~ đỉnh và ~m~ cạnh có hướng có trọng số.
Với mỗi đỉnh ~i~, hãy tính độ dài của quãng đường ngắn nhất để đi xuất phát từ đỉnh ~1~, đi qua đỉnh ~i~ và quay về đỉnh ~1~.
Input
- Dòng thứ nhất chứa ~2~ số nguyên dương ~n,m~.
- ~m~ dòng sau mỗi dòng gồm ~3~ số nguyên dương ~u,v,w~ ~(1 \le u, v \le n, u \neq v)~, miêu tả cạnh gồm đỉnh ~u~ nối với đỉnh ~v~ có trọng số ~w~.
Output
- Gồm ~n~ dòng, dòng thứ ~i~ in ra độ dài của quãng đường ngắn nhất để đi xuất phát từ đỉnh ~1~, đi qua đỉnh ~i~ và quay về đỉnh ~1~. Nếu không có quãng đường nào như vậy thì in ra ~-1~.
Constraints
- ~1 \le n,n \le 2*10^5~.
- ~1 \le w \le 10^9~.
Subtasks
- Subtask ~1~: Nếu tồn tại cạnh ~(u,v,w)~ thì sẽ có cạnh ~(v,u,w)~. ~(30\%)~
- Subtask ~2~: Không có ràng buộc gì thêm ~(70\%)~
Sample Input 1:
5 7
1 4 5
1 5 3
3 5 2
5 4 10
5 1 7
3 2 5
2 1 1
Sample Output 1:
-1
-1
-1
10
Sample Input 2:
2 1
2 1 10
Sample Output 2:
-1
PColor
Nộp bàiPoint: 100
Có ~n~ điểm từ ~1~ tới ~n~ trên trục tọa độ ~OX~. Điểm thứ ~i~ có màu ~c_i~.
Tại điểm ~i~, bạn có thể:
- Đi tới điểm ~i+1~ (nếu ~i \neq n~), tốn ~R~ giây.
- Đi tới điểm ~i-1~ (nếu ~i \neq 1~), tốn ~L~ giây.
- Tốc biến tới điểm ~j~ (nếu ~c_i = c_j~), tốn ~C~ giây.
Cho ~2~ điểm ~st~ và ~en~, hãy tính thời gian ngắn nhất để đi từ ~st~ đến ~en~.
Input
- Dòng thứ nhất chứa ~4~ số nguyên dương ~n,L,R,C~.
- Dòng thứ hai gồm ~2~ số nguyên dương ~st~ và ~en~. ~(1 \le st \le en \le n)~
- Dòng thứ ba chứa ~N~ số nguyên dương ~c_1, c_2, ..., c_n~ là màu của từng điểm.
Output
- In ra thời gian ngắn nhất để đi từ ~st~ đến ~en~.
Constraints
- ~1 \le n \le 10^5~.
- ~1 \le L,R,C \le 10^9~.
- ~1 \le c_i \le 10^5~.
Sample Input 1:
5 1 2 3
1 5
1 2 1 1 2
Sample Output 1:
5
Sample Input 1:
5 1 4 3
3 5
1 2 1 1 2
Sample Output 1:
4
Subtasks
- Subtask ~1~: ~n \le 1000~ ~(50\%)~
- Subtask ~2~: Không có ràng buộc gì thêm ~(50\%)~
BeutyRoads
Nộp bàiPoint: 100
Đất nước ~ABC~ có ~n~ thành phố và ~m~ con đường hai chiều. Con đường thứ ~i~ nối hai thành phố ~u_i~ và ~v_i~ với nhau, có độ dài ~l_i~ và độ đẹp ~b_i~.
~H~ là một du khách. Hiện tại, anh đang ở thành phố ~1~ và cần đi tới thành phố ~n~ để dự sự kiện. Là một người đam mê cái đẹp, anh muốn chọn một lộ trình sao cho những con đường anh đi qua có tổng độ đẹp là lớn nhất, tuy vậy do cần tiết kiệm thời gian nên anh sẽ chỉ chọn lộ trình ngắn nhất (tức là tổng độ dài các con đường là bé nhất có thể) để đi từ ~1~ tới ~n~.
Hãy giúp ~H~ tính toán lộ trình ngắn nhất và có tổng độ đẹp lớn nhất mà anh ta có thể đi.
Input
- Dòng thứ nhất chứa ~2~ số nguyên dương ~n,m~.
- ~m~ dòng sau mỗi dòng gồm ~4~ số nguyên dương ~u_i,v_i,l_i,c_i~ ~(1 \le u, v \le n, u \neq v)~, miêu tả con đường nối thành phố ~u_i~ với ~v_i~ có độ dài ~l_i~ và độ đẹp ~c_i~.
Output
- Gồm một dòng chứa hai số nguyên ~L~ và ~B~, với ~L~ là độ dài của lộ trình ngắn nhất để đi từ ~1~ tới ~n~ và ~B~ là độ đẹp lớn nhất có thể của các lộ trình có độ dài ~L~.
- Nếu không có lộ trình nào để đi từ ~1~ tới ~n~, in ra ~-1~.
Constraints
- ~1 \le n,m \le 2*10^5~.
- ~1 \le l_i,c_i \le 10^9~.
Subtasks
- Subtask ~1~: ~1 \le n,m \le 20~ ~(30\%)~
- Subtask ~2~: Không có ràng buộc gì thêm ~(70\%)~
Sample Input 1:
5 6
1 5 8 9
1 2 3 2
2 5 3 4
1 3 1 1
3 4 1 5
4 5 4 1
Sample Output 1:
6 7
Explanation 1:
Có hai lộ trình có độ dài ~6~ có thể đi là ~(1,2,5)~ và ~(1,3,4,5)~. Trong đó lộ trình ~(1,3,4,5)~ có độ đẹp lớn nhất là bằng ~7~.
Sample Input 2:
4 2
1 2 1 1
1 3 1 1
Sample Output 2:
-1
Explanation 2:
Không có lộ trình nào để đi từ ~1~ tới ~4~.
spath
Nộp bàiPoint: 100
Cho bảng số ~A~ kích thước ~n*m~, các hàng được đánh số từ trên xuống dưới, các cột được đánh số từ trái sang phải. Ô giao giữa hàng ~i~ cột ~j~ là ô ~(i,j)~ và có giá trị ~a(i,j)~. Hai ô có thể di chuyển tới nhau nếu chúng chung cạnh. Một đường đi sẽ bao gồm các ô sao cho hai ô liên tiếp chung cạnh, và nó có giá trị bằng tổng giá trị các ô trên đường đi.
Cho ~q~ truy vấn, truy vấn thứ ~i~ sẽ cho bạn hai ô ~(x,y)~ và ~(u,v)~ trong bảng. Kết quả của một truy vấn chính là giá trị của đường đi có trọng số nhỏ nhất giữa hai ô đã cho. Hãy in ra kết quả của từng truy vấn.
Input
- Dòng đầu tiên chứa hai số nguyên dương ~n,m~, ~(1 \le n \le 7; 1 \le m \le 5000)~.
- Tiếp theo là ~n~ dòng, mỗi dòng gồm ~m~ số nguyên không âm miêu tả bảng ~A~ ~n*m~, ~(0 \le a(i,j) \le 10^5)~ .
- Dòng tiếp theo là số nguyên dương ~q~, ~(q \le 30000)~.
- Ở ~q~ dòng tiếp theo mỗi dòng miêu tả một truy vấn, truy vấn thứ ~i~ có dạng ~x_i, y_i, u_i, v_i~ miêu tả ô ~(x_i,y_i)~ và ~(u_i,v_i)~. (Các ô đều nằm trong bảng).
Output
- In ra ~q~ dòng là kết quả của ~q~ truy vấn.
Sample Test
Input:
2 3
1 2 3
4 1 1
2
1 1 2 3
1 3 2 1
Output:
5
9