Điều hướng chính

Nhắn tin NQ Coding

Ngôn ngữ

Phím tắt

/
Chuyển đến ô tìm bài
g p
Đi đến bài tập
g c
Đi đến kỳ thi
g u
Đi đến người dùng
?
Mở trợ giúp phím tắt

Bài tập

Bài được chọn theo nhịp luyện tập của bạn, cùng mọi bài mới vừa lên.

Dễ

Thám hiểm

100 điểm 0% AC 0 đã giải

root

Nhà khoa học Alex đang thực hiện một cuộc thám hiểm để nghiên cứu các mẫu vật tại \(n\) địa điểm khác nhau. Anh ấy bắt đầu chuyến đi từ địa điểm \(1\). Giữa một số địa điểm có các con đường bộ hai chiều, và Alex biết thời gian cần thiết để đi qua mỗi con đường.

Ngoài ra, giữa mỗi cặp địa điểm còn có một tuyến đường hàng không, nhưng do một sự cố kỹ thuật gần đây, thời gian di chuyển giữa hai địa điểm \(u\) và \(v\) bằng đường hàng không được tính bằng \((u - v)^2\).

Vì Alex không thích bay cho lắm, anh ta chỉ có thể sử dụng tối đa \(k\) chuyến bay trong suốt hành trình của mình. Mục tiêu của Alex là tìm thời gian di chuyển tối thiểu từ địa điểm \(1\) đến mỗi địa điểm khác.

Yêu cầu: Hãy giúp Alex tính toán thời gian di chuyển tối thiểu từ địa điểm \(1\) đến mỗi địa điểm trong số \(n\) địa điểm.

Input

  • Dòng đầu tiên của input chứa ba số nguyên \(n, m, k\) (\(2 \le n \le 10^5, 1 \le m \le 10^5, 0 \le k \le 20\)) lần lượt là số địa điểm, số con đường bộ và số chuyến bay tối đa mà Alex có thể sử dụng.
  • \(m\) dòng tiếp theo mô tả các con đường bộ. Mỗi dòng chứa ba số nguyên \(u, v, w\) (\(1 \le u, v \le n, u \ne v, 1 \le w \le 10^9\)) --- hai địa điểm được kết nối và thời gian di chuyển qua con đường đó. Lưu ý rằng một số cặp địa điểm có thể được kết nối bởi nhiều hơn một con đường.

Output

  • In ra \(n\) số nguyên, số thứ \(i\) là thời gian di chuyển tối thiểu đến địa điểm \(i\).

Example

Test 1

Input
3 1 2
1 3 1
Output
0 1 1 

Test 2

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

Scoring

  • Subtask \(1\) (25% số điểm) : \(k = 0\).
  • Subtask \(2\) (25% số điểm) : \(n, m \leq 50\).
  • Subtask \(3\) (25% số điểm) : Đồ thị có dạng đường thẳng.
  • Subtask \(4\) (25% số điểm) : Không có ràng buộc gì thêm.
Dễ

Kì thi

100 điểm 0% AC 0 đã giải

root

Có \(n\) học sinh tham gia một kì thi gồm hai phần: Toán học và Tin học. Học sinh thứ \(i\) (\(1 \le i \le n\)) đạt \(S_i\) điểm phần Toán và \(T_i\) điểm phần Tin.

Hai giáo sư là giáo sư T và giáo sư I sẽ cùng đưa ra quyết định xem học sinh đó có được coi là qua môn hay không, dựa trên các tiêu chí như sau:

  • Giáo sư T yêu cầu mỗi học sinh đạt ít nhất \(A\) điểm Toán và ít nhất \(B\) điểm Tin để được qua.
  • Giáo sư I chỉ quan tâm tổng điểm: học sinh cần có tổng điểm \(S_i + T_i\) lớn hơn hoặc bằng \(C\) để được qua.
  • Một học sinh chỉ được coi là qua môn nếu thỏa mãn cả hai tiêu chí trên.

Tuy nhiên, bạn không biết giá trị cụ thể của \(A\), \(B\), và \(C\). Thay vào đó, bạn nhận được \(q\) bộ ba số nguyên \((X_j, Y_j, Z_j)\) tương ứng với các bộ tiêu chí \((A, B, C)\).

Với mỗi bộ tiêu chí \((X_j, Y_j, Z_j)\), hãy tính xem có bao nhiêu học sinh qua môn.

\InputFile

  • Dòng đầu chứa hai số nguyên \(n\) và \(q\) (\(1 \le n, q \le 10^5\)).
  • \(n\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(S_i\) và \(T_i\) (\(0 \le S_i, T_i \le 10^9\)).
  • \(q\) dòng tiếp theo, mỗi dòng chứa ba số nguyên \(X_j, Y_j, Z_j\) (\(0 \le X_j, Y_j \le 10^9\), \(0 \le Z_j \le 2 \cdot 10^9\)).

\OutputFile

In ra \(q\) dòng, dòng thứ \(j\) là số học sinh qua môn ứng với bộ tiêu chí \((A = X_j, B = Y_j, C = Z_j)\).

\Scoring

  • Subtask 1 (10%): \(n, q \le 3000\)
  • Subtask 2 (22%): \(S_i, T_i \le 10^5\), \(X_j, Y_j \le 10^5\), \(Z_j = 0\)
  • Subtask 3 (40%): \(S_i, T_i \le 10^5\), \(X_j, Y_j \le 10^5\), \(Z_j \le 2 \cdot 10^5\)
  • Subtask 4 (28%): Không có ràng buộc bổ sung

\Examples

\beginexample
\exmp
5 4
35 100
70 70
45 15
80 40
20 95
20 50 120
10 10 100
60 60 80
0 100 100
2
4
1
1

\endexample

Dễ

Quân mã

100 điểm 0% AC 0 đã giải

root

Cho một quân mã được đặt trên mặt phẳng tọa độ Descartes. Trong mỗi bước di chuyển, quân mã có thể đi theo một trong bốn vector chỉ phương \((2, -1)\); \((2, 1)\); \((1, 2)\) và \((-1, 2)\) như hình vẽ dưới đây:

\begincenter

\endcenter

Cho biết quân mã đang ở điểm có tọa độ \((x_1, y_1)\) và quân mã cần đi tới điểm có tọa độ \((x_2, y_2)\). Hãy đếm số cách quân mã có thể làm được điều này. Do kết quả có thể rất lớn, hãy in ra theo modulo \(998244353\).

Input

Dòng đầu tiên chứa số nguyên \(t\) \((1 \leq t \leq 10^5)\) là số câu hỏi.

\(t\) dòng tiếp theo, mỗi dòng chứa bốn số nguyên \(x_1, y_1, x_2, y_2\) \((1 \leq x_1, y_1, x_2, y_2 \leq 2000)\) cho biết vị trí xuất phát và vị trí cần tới của quân mã.

Output

In ra \(t\) số nguyên là đáp án của \(t\) câu hỏi \(–\) số cách để quân mã đi từ vị trí xuất phát tới vị trí kết thúc, theo modulo \(998244353\).

Example

Test 1

Input
3
2 3 5 3
1 1 2 3
2 2 1 1
Output
3
1
0

Scoring

  • Subtask \(1\) (\(20\) điểm): \(x_1, y_1, x_2, y_2 \leq 5\)

  • Subtask \(2\) (\(15\) điểm): \(x_1, y_1, x_2, y_2 \leq 100\) và \(t \leq 10\)

  • Subtask \(3\) (\(15\) điểm): \(x_1, y_1, x_2, y_2 \leq 100\)

  • Subtask \(4\) (\(25\) điểm): \(x_1, y_1, x_2, y_2 \leq 2000\) và \(t \leq 10\)

  • Subtask \(5\) (\(25\) điểm): Không có ràng buộc gì thêm.

Dễ

Trồng hoa

100 điểm 0% AC 0 đã giải

root

Một khu vườn có thể xem như một lưới hình chữ nhật có kích thước \(N \times M\). Các dòng được đánh số từ \(1\) đến \(N\), các cột được đánh số từ \(1\) đến \(M\). Giao điểm giữa dòng \(i\) (\(1 \le i \le N\)) và cột \(j\) (\(1 \le j \le M\)) là ô \((i,j)\), và người ta muốn trồng hoa trên khu vườn này.

Trên khu vườn đã lắp đặt sẵn \(Q\) máy phun nước và \(K\) máy phun phân vi sinh. Một ô có thể chứa đồng thời nhiều máy phun nước và phân vi sinh.

  • Một máy phun nước khi được đặt ở ô \((x, y)\) sẽ tưới nước cho mọi ô \((i,j)\) thỏa mãn \(x \le i\) và \(y \le j\).
  • Một máy phun phân vi sinh khi được đặt ở ô \((z, w)\) sẽ tưới phân vi sinh cho mọi ô \((i,j)\) thỏa mãn \(i \le z\) và \(j \le w\).

Một ô trong khu vườn có thể trồng hoa khi ô đó được tưới cả nước và phân vi sinh.

Người ta muốn chọn các khu đất hình chữ nhật có các cạnh song song với biên của khu vườn thỏa mãn điều kiện để trồng hoa.

Yêu cầu: Cho kích thước khu vườn \(N \times M\), vị trí của \(Q\) máy phun nước và \(K\) máy phun phân vi sinh, hãy tính số lượng các khu đất hình chữ nhật có thể chọn để trồng hoa.

Input

  • Dòng đầu tiên chứa bốn số \(N, M, Q, K\) (\(1 \le Q, K \le 3 \times 10^5\); \(Q, K \le N \times M\), \(1 \le N, M \le 10^9\)).
  • \(Q\) dòng tiếp theo, mỗi dòng chứa hai số \(x, y\) là vị trí của một máy phun nước.
  • \(K\) dòng tiếp theo, mỗi dòng chứa hai số \(z, w\) là vị trí của một máy phun phân vi sinh.

Output

  • Một dòng ghi một số nguyên là kết quả của bài toán sau khi chia lấy dư cho \(10^9 + 7\).

Example

Test 1

Input
3 3 2 1
1 2
2 1
3 2
Output
12

Scoring

  • 20% số tests tương ứng với 20% điểm của bài có: \(N, M \le 100\);
  • 20% số tests khác tương ứng với 20% điểm của bài có: \(N, M \le 4000\);
  • 20% số tests khác tương ứng với 20% điểm của bài có: \(N \le 4000\);
  • 20% số tests khác tương ứng với 20% điểm của bài có: \(N \le 3 \times 10^5\);
  • 20% số tests còn lại tương ứng với 20% điểm của bài có không có ràng buộc gì thêm.
Xem thêm