| # | Bài tập | Điểm | Thời gian: | Giới hạn bộ nhớ |
|---|---|---|---|---|
| 1 | Atcoder Educational DP Contest - Problem A: Frog 1 | 100 (p) | 1.0s | 1G |
| 2 | Atcoder Educational DP Contest - Problem B: Frog 2 | 100 (p) | 1.0s | 256M |
| 3 | Chú ếch và hòn đá 3 | 100 (p) | 2.0s | 1023M |
| 4 | Atcoder Educational DP Contest - Problem C: Vacation | 100 (p) | 1.0s | 256M |
| 5 | Đếm đường đi trên ma trận 1 | 100 (p) | 2.0s | 256M |
| 6 | Bài toán đồng xu 1 | 100 (p) | 4.0s | 256M |
| 7 | Kaninho và bài toán sushi | 100 (p) | 2.0s | 256M |
| 8 | Đoạn con (HSG THPT Hà Tĩnh 2023) | 100 (p) | 1.0s | 1G |
Có \(N\) hòn đá được đánh số từ \(1,2,\ldots,N\). Hòn đá thứ \(i\) có chiều cao là \(h_i\).
Ban đầu, có một con ếch đang ngồi ở hòn đá thứ nhất. Con ếch sẽ lặp đi lặp lại thao tác sau nhiều lần để đến được hòn đá thứ \(N\):
Bạn hãy giúp con ếch tìm chi phí tối thiểu để nhảy từ hòn đá thứ nhất tới hòn đá thứ \(N\) nhé.
4
10 30 40 20
30
Con ếch nhảy theo lộ trình \(1 -> 2 -> 4\). Chi phí là \(|10 - 30| + |30 - 20| = 30\).
2
10 10
0
Con ếch nhảy theo lộ trình \(1 -> 2\). Chi phí là \(|10 - 10| = 0\).
Có \(N\) hòn đá, được đánh số từ \(1, 2, ..., N\). Độ cao của hòn đá thứ \(i\) là \(h_i\).
Có một con ếch ban đầu ở hòn đá thứ \(1\). Nó sẽ lặp lại các thao tác sau nhiều lần để tới được hòn đá thứ \(N\).
Bạn hãy giúp con ếch tìm chi phí tối thiểu để nhảy từ hòn đá thứ nhất tới hòn đá thứ \(N\) nhé.
5 3
10 30 40 50 20
30
Con ếch nhảy theo lộ trình \(1 -> 2 -> 5\). Chi phí là \(|10 - 30| + |30 - 20| = 30\).
3 1
10 20 10
20
Con ếch nhảy theo lộ trình \(1 -> 2 -> 3\). Chi phí là \(|10 - 20| + |20 - 10| = 20\).
Có \(N\) hòn đá được đánh số từ \(1\) đến \(N\). Ứng với mỗi \(i\) \((1\le i\le N)\), độ cao của hòn đá thứ \(i\) là \(h_i\), và ở đây các \(h_i\) thỏa mãn điều kiện \(h_1<h_2<...<h_N\).
Có một chú ếch, ban đầu ở hòn đá \(1\). Chú ếch này sẽ lặp lại hành động sau với một số lần tùy ý cho đến khi đến được hòn đá \(N\).
Tìm chi phí tối thiểu để chú ếch này có thể nhảy đến hòn đá thứ \(N\).
Test 1
5 6
1 2 3 4 5
20
Con đường của chú ếch sẽ nhảy là \(1\rightarrow 3\rightarrow 5\). Khi đó chi phí tổng cộng là \(((3-1)^2+6)+((5-3)^2+6)=20\).
Nguồn: Tham khảo từ Atcoder
Kì nghỉ hè của Taro sẽ bắt đầu vào ngày mai và cậu bé đã quyết định lên kế hoạch cho kì nghỉ ngay từ bây giờ.
Kì nghỉ gồm \(N\) ngày. Ngày thứ \(i\), Taro sẽ chọn một trong các hoạt động sau:
Vì Taro dễ chán nên cậu bé không thể làm cùng một hoạt động trong 2 ngày liên tiếp trở lên.
Hãy tính điểm hạnh phúc lớn nhất mà Taro có thể đạt được.
3
10 40 70
20 50 80
30 60 90
210
Taro đã làm các hoạt động \(C, B, C\). Cậu ấy có \(70 + 50 + 90 = 210\) điểm hạnh phúc.
7
6 7 8
8 8 3
2 5 2
7 8 6
4 6 8
2 3 4
7 5 1
46
Taro đã làm các hoạt động \(C, A, B, A, C, B, A\).
Cho ma trận gồm \(H\) hàng và \(W\) cột. Gọi \((i,j)\) là ô vuông ở hàng thứ \(i\) và cột thứ \(j\).
Với mỗi \(i,j(1\le i\le H,1\le j\le W)\), ô vuông \((i,j)\) được mô tả bởi kí tự \(a_{i,j}\). Nếu \(a_{i,j}=\). thì ô vuông này trống rỗng, nếu \(a_{i,j}=\) # thì ô vuông này chứa vật cản.
\(Kaninho\) bắt đầu ở ô vuông \((1,1)\) và muốn đến ô vuông \((H,W)\) bằng việc lặp lại các bước: Đi sang phải hoặc đi xuống dưới ô trống kề với nó.
Tìm số con đường mà \(Kaninho\) có thể đi được từ ô \((1,1)\) đến ô \((H,W)\). Bởi vì đáp án có thể lớn, nên trước khi in ra cần lấy mod \(10^9+7\).
Dòng thứ nhất chứa hai số nguyên \(H,W(2\le H,W\le 1000)\)
\(H\) dòng tiếp theo, mỗi dòng chứa \(W\) kí tự \(a_{i,1},a_{i,2},...,a_{i,W}(1\le i\le H)\) - thể hiện ma trận \(Kaninho\) cần đi. Biết rằng đề ra luôn đảm bảo các ô \((1,1)\) và \((H,W)\) đều trống.
Cho \(N\) là một số nguyên dương lẻ.
Có \(N\) đồng xu, được đánh số \(1,2,3,\cdots,N\). Với mỗi \(i(1 \leq i \leq N)\), khi đồng xu \(i\) được gieo, xác suất nó xảy ra mặt ngửa là \(p_i\) và xác suất nó xảy ra mặt úp là \(1−p_i\).
Kaninho gieo \(N\) đồng xu cùng một lúc. Tính xác suất để ta thu được số lượng đồng xu ngửa lớn hơn số lượng đồng xu úp.
Test 1
3
0.30 0.60 0.80
0.612
Xác suất của mỗi trường hợp có số lượng đồng xu ngửa lớn hơn số lượng đồng xu úp là :
\(P(ngua,ngua,ngua)\)=\(0.3∗0.6∗0.8=0.144\)
\(P(up,ngua,ngua)\)=\(0.7∗0.6∗0.8=0.336\)
\(P(ngua,up,ngua)\)=\(0.3∗0.4∗0.8=0.096\)
\(P(ngua,ngua,up)\)=\(0.3∗0.6∗0.2=0.036\)
Như vậy, xác suất có số lượng mặt ngửa lớn hơn số lượng đồng xu úp là: \(0.144+0.336+0.096+0.036=0.612\)
Có \(N\) cái đĩa , được đánh số \(1,2,3,\cdots,N\). Ban đầu, với mỗi \(i(1 \leq i \leq N)\), cái đĩa thứ \(i\) có \(a_i(1 \leq a_i \leq 3)\) miếng sushi.
Kaninho sẽ lặp lại phép toán dưới đây cho đến khi tất cả các miếng sushi trên các đĩa được ăn hết:
Thả con xúc sắc có \(N\) mặt được đánh số \(1,2,3,\cdots,N\) (xác suất xuất hiện \(N\) mặt này là như nhau), và gọi \(i\) là mặt của con xúc sắc sau khi thả. Nếu có một vài miếng sushi trên đĩa thứ \(i\), Kaninho sẽ ăn 1 cái trong số chúng, còn nếu không có cái nào hết, thì Kaninho sẽ không làm gì cả.
Tìm giá trị kì vọng của số lần thực hiện phép toán trên trước khi tất cả các miếng sushi trên các đĩa được ăn hết.
Test 1
3
1 1 1
5.5
Giá trị kì vọng của số phép toán trước khi miếng sushi thứ nhất được ăn là \(1\). Sau đó, giá trị kì vọng của số phép toán trước khi miếng sushi thứ \(2\) được ăn là \(1.5\). Sau đó, giá trị kì vọng của số phép toán trước khi miếng sushi thứ \(3\) được ăn là \(3\). Như vậy, giá trị kì vọng tổng cộng của số phép toán cần thực hiện là \(1+1.5+3=5.5\)
Một dãy số được gọi là dãy số đặc biệt khi ta đọc dãy từ trái sang phải cũng giống như khi đọc từ phải sang trái.
Chẳng hạn:
Yêu cầu: Cho số nguyên dương \(N\) và dãy số \(A\) gồm \(N\) phần tử \(a_1, a_2, \ldots, a_n\), mỗi phần tử là một số nguyên dương. Hãy tìm số lượng ít nhất phần tử cần chèn thêm vào dãy \(A\) để dãy \(A\) thành dãy số đặc biệt.
Test 1
5
1 7 8 9 1
2