Thi thử ĐP
TPrime
Nộp bàiPoint: 5
Chúng ta đã quá rõ việc một số nguyên tố (prime) là số nguyên dương lớn hơn ~1~ có duy nhất hai ước là ~1~ và chính nó. Để làm mới bài toán, hôm nay, ta sẽ định nghĩa một số TPrime là một số nguyên dương lớn hơn ~1~ gồm đúng ~3~ ước.
Cho ~n~ truy vấn, mỗi truy vấn là một số ~a~, hãy kiểm tra xem số này có phải là số TPrime hay không.
Input
- Dòng ~1~ ghi số nguyên dương ~n~ ~(1 \le n \le 3*10^5)~
- ~n~ dòng sau, mỗi dòng gồm một số nguyên dương ~a~ ~(1 \le a \le 10^{12})~ miêu tả truy vấn.
Output
- In ra ~n~ dòng, với mỗi truy vấn, nếu ~a~ là số TPrime thì in ra "YES", ngược lại in ra "NO".
Subtask
- Có ~20\%~ số test ứng với ~1 \le n \le 100, 1 \le a \le 10^4~
- Có ~30\%~ số test ứng với ~1 \le n,a \le 10^5~
- Có ~50\%~ số test còn lại không có giới hạn gì thêm.
Sample Input 1
3
4
6
7
Sample Output 1
YES
NO
NO
Xoá số
Nộp bàiPoint: 4
Cho số nguyên dương ~N~. Hãy đếm số cách xoá đi một đoạn chữ số liên tiếp của ~N~ (không được xoá hết) để nhận được số mới chia hết cho ~3~, biết rằng số mới nhận được có thể có thừa chữ số ~0~ ở đầu.
Hai cách xoá được coi là khác nhau nếu có một vị trí được xoá trong cách này nhưng không được xoá trong cách kia.
Input
- Gồm một dòng duy nhất chứa một số nguyên ~N~ (~1 \le N \le 10^{100000}~).
Output
- In ra một số nguyên là số cách xoá tìm được.
Subtasks
- Subtask 1 (~50\%~ số điểm): ~N \le 10^{300}~.
- Subtask 2 (~25\%~ số điểm): ~N \le 10^{10000}~.
- Subtask 3 (~25\%~ số điểm): Không có ràng buộc gì thêm.
Sample Test 1
Input
1005
Output
4
Sample Test 2
Input
2009
Output
3
Chia dãy
Nộp bàiPoint: 4
Du lịch
Nộp bàiPoint: 4
Ở một đất nước nọ, có ~n~ thành phố được kết nối với nhau bằng ~n-1~ con đường 2 chiều, đảm bảo rằng từ một thành phố bất kì có thể tới được tất cả các thành phố khác.
Thành phố thứ ~i~ có một giá trị ~a_i~, là độ "đẹp của thành phố đó. Các giá trị a_i này có thể giống nhau, tức là các thành phố có thể có độ đẹp ngang nhau.
Một vị khách du lịch khi tới đất nước này chơi trong ~k (1 \le k \le 10^{18})~ ngày. Hiện tại, vị khách ấy đang ở thành phố 1. Cách di chuyển của vị khách này rất đặc biệt, ví dụ ở ngày thứ i và vị khách đang ở thành phố ~u~ (ở ngày đầu thì anh ta ở thành phố 1), anh sẽ đi tới thành phố ~v~ khác ~u~, sao cho ~a_v - dist(u,v)~ là lớn nhất (~dist(u,v)~ là đường đi ngắn nhất từ thành phố ~u~ tới ~v~). Nếu có nhiều thành phố thỏa mãn điều kiện trên, anh ta sẽ đi tới thành phố có chỉ số nhỏ nhất.
Là một người yêu thích tin học, vị khách đưa ra một yêu cầu trước khi tham quan, đó là hãy tính xem, sau ~k~ ngày, anh ta sẽ ở thành phố nào. Hãy lập trình và giải bài toán này giúp anh ấy.
Input
- Dòng đầu gồm 2 số ~n~ và ~k~, lần lượt là số thành phố và số ngày vị khách ở ~(1 \le n \le 3 \times 10^5, 1 \le k \le 10^{18})~.
- Dòng sau gồm ~n~ số miêu tả dãy ~a~. ~(0 \le a_i \le 10^9 \; \forall \; 1 \le i \le n).~
- ~n-1~ dòng sau, mỗi dòng gồm 2 số ~u,v (1 \le u,v \le n)~ miêu tả con đường 2 chiều nối ~u~ và ~v~.
Output
In ra thành phố mà anh ta sẽ đến sau ~k~ ngày.
Ràng buộc
- Subtask 1: ~n \le 1000, k \le 10^5~ (20%)
- Subtask 2: ~n \le 1000, k \le 10^{18}~ (15%)
- Subtask 3: ~n \le 300000, k \le 10^5~ (50%)
- Subtask 4: ~n \le 300000, k \le 10^{18}~ (15%)
Sample Test
Input:
5 4
1 1 3 2 4
1 2
1 3
2 4
2 5
Output:
5
Giải thích:
- Vị khách sẽ đi theo thứ tự 1 --> 3 --> 5 --> 2 --> 5
Dãy Tăng Kép
Nộp bàiPoint: 3
Dãy con của một dãy là dãy thu được bằng cách xóa đi một số phần tử của dãy ban đầu (có thể không xóa phần tử nào) và giữ nguyên thứ tự của các phần tử còn lại. Một dãy số được gọi là dãy tăng kép nếu có thể tách nó ra thành hai dãy con khác rỗng, sao cho mỗi phần tử của dãy ban đầu thuộc vào đúng dãy con đó, và các phần tử trong cùng một dãy con thì tăng nghiêm ngặt.
Cho dãy số nguyên ~a~ có ~n~ phần tử, hãy đếm số dãy con của ~a~ là dãy tăng kép.
Input
- Dòng đầu tiên gồm số nguyên ~n~
- Dòng thứ hai chứa ~n~ số nguyên ~a_1,a_2,...,a_n~ ~(1 \le a_i \le n)~
Output
- In ra số lượng dãy tăng kép là dãy con của ~a~, sau khi chia lấy dư cho ~1000000007~
Subtask :
- Subtask ~1~: ~n \le 20~ ~(20\%)~
- Subtask ~2~: ~n \le 200~ ~(20\%)~
- Subtask ~3~: ~n \le 2000~ và ~a_i \le 200~ ~(25\%)~
- Subtask ~4~: ~n \le 2000~ ~(35\%)~
Sample Input 1:
4
3 3 4 2
Sample Output 1:
9