Dãy Đầy Đủ

Nộp bài
Time limit: 2.0 / Memory limit: 1G

Point: 100

Bạn được cho một mảng ~a~ gồm ~n~ số nguyên dương, đánh số từ ~1~ đến ~n~. Hãy gọi một mảng là đầy đủ nếu với mọi cặp giá trị ~x~ và ~y~ trong mảng (biết ~x~ và ~y~ không nhất thiết phải khác nhau), với điều kiện ~x \geq y~, thì số ~\left \lfloor \frac{x}{y} \right \rfloor~ (lấy ~x~ chia cho ~y~ rồi làm tròn xuống) cũng phải nằm trong mảng.

Bạn được đảm bảo rằng tất cả các số trong mảng ~a~ đều không vượt quá ~c~. Nhiệm vụ của bạn là kiểm tra xem mảng này có phải là đầy đủ hay không.

Bạn sẽ phải trả lời nhiều truy vấn.

Input
  • Dòng đầu tiên gồm một số nguyên dương ~t~ ~(1 \le t \le 10^4)~ là số truy vấn, mỗi truy vấn sẽ có dạng như sau:
    • Dòng đầu chứa hai số nguyên dương ~n,c~ mô tả dãy ~a~ ban đầu và cận trên của các giá trị ~a_i~ trong dãy ~(1 \le n \le 2 \times 10^5, 1 \le C \le 10^7)~.
    • Dòng thứ hai chứa ~n~ số nguyên dương ~a_1,a_2,...,a_n~ ~(1 \le a_i \le c)~.
  • Gọi ~N~ là tổng ~n~ của các truy vấn, tương tự ~C~ là tổng ~c~ của các truy vấn, dữ liệu đảm bảo ~N \le 10^6~ và ~C \le 10^7~.
Output
  • Với mỗi truy vấn, in ra "Yes" (không có dấu ngoặc) nếu dãy đó là dãy đầy đủ, ngược lại in ra "No".
Subtask
  • Subtask ~1~ (~10\%~ số điểm): ~N \le 100, C \le 10^7~
  • Subtask ~2~ (~20\%~ số điểm): ~N \le 10^5, C \le 10^4~
  • Subtask ~3~ (~20\%~ số điểm): ~N \le 1000~
  • Subtask ~4~ (~30\%~ số điểm): ~N \le 10^5~
  • Subtask ~5~ (~20\%~ số điểm): Không có ràng buộc gì thêm
Sample input 1
3
3 7
1 2 5
1 5
5
4 8
1 3 3 7
Sample output 1
Yes
No
No

Time limit: 1.0 / Memory limit: 256M

Point: 100

Trên hệ trục tọa độ ~OXY~, cho ~n~ điểm xanh và ~m~ điểm đỏ có tọa độ nguyên.

Ta gọi các điểm thuộc tập xanh là ~b_1,b_2,...,b_n~.

Gọi các điểm tập đỏ là ~r_1,r_2,...,r_m~.

Với một tập điểm ~P = \{p_1,p_2,...,p_k\}~ trên hệ trục tọa độ ~OXY~, gọi ~S(P)~ là tập các đa giác không tự cắt sao cho các đỉnh của nó đều nằm trong tập ~P~.

Cho ~q~ truy vấn, truy vấn thứ ~i~ có dạng như sau:

  • Bạn sẽ nhận được một số nguyên dương ~k~, sau đó là ~k~ số nguyên dương ~x_1,x_2,...,x_k~ khác nhau đôi một ~(1 \le x_i \le n)~. Tập chỉ số này miêu tả tập điểm ~X = \{b_{x_1},b_{x_2},...,b_{x_k}\}~.
  • Hãy đếm số điểm ~r_i~ ~(1 \le i \le m)~ sao cho nó nằm hoàn toàn trong ít nhất một đa giác không tự cắt thuộc tập ~S(X)~.

Ví dụ các đa giác ~ABCD~ trong hai hình dưới đây là một đa giác không tự cắt:

Imgur

Imgur

Còn đa giác ~ABCD~ trong hình dưới đây thì không:

Imgur

Quan trọng: Toàn bộ các điểm được cho đều phân biệt, không có bộ ba điểm nào thẳng hàng và cũng không có cặp điểm nào tạo thành một đường thẳng đi qua gốc tọa độ ~(0,0)~.

Input

  • Dòng đầu tiên gồm số nguyên dương ~n~ miêu tả số điểm xanh.
  • ~n~ dòng sau, dòng thứ ~i~ gồm hai số nguyên ~x_i,y_i~ miêu tả tọa độ ~(x_i,y_i)~ của điểm ~b_i~ ~(1 \le n \le 200; |x_i|,|y_i| \le 10^9)~.
  • Dòng tiếp theo gồm số nguyên dương ~m~ miêu tả số điểm đỏ.
  • ~m~ dòng sau, dòng thứ ~i~ gồm hai số nguyên ~x_i,y_i~ miêu tả tọa độ ~(x_i,y_i)~ của điểm ~r_i~ ~(1 \le m \le 1000; |x_i|,|y_i| \le 10^9)~.
  • Dòng tiếp theo gồm số nguyên dương ~q~ miêu tả số truy vấn ~(1 \le q \le 2 \times 10^5)~ .
  • ~q~ dòng tiếp theo, mỗi dòng gồm số nguyên dương ~k~ miêu tả số điểm trong truy vấn, tiếp theo là ~k~ số nguyên dương ~x_1,x_2,...,x_k~ miêu tả các điểm ~b_{x_1},b_{x_2},...,b_{x_k}~ ~(3 \le k \le n; 1 \le x_i \le n)~.
  • Gọi ~T~ là tổng của ~k~ trong mọi truy vấn, dữ liệu đảm bảo ~T~ không vượt quá ~2 \times 10^6~.

Output

  • Gồm ~q~ dòng, dòng thứ ~i~ in ra đáp án của truy vấn thứ ~i~.

Sample Input 1

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

Sample Output 1

1
0
2

Explanation 1

Xét hình vẽ minh họa:

Imgur

Ở đây ta có điểm ~b_1,b_2,b_3,b_4,b_5,b_6~ được kí hiệu lần lượt là ~A,B,C,D,E,F~. Các điểm ~r_1,r_2,r_3~ được kí hiệu lần lượt ~G,H,I~.

  • Ở truy vấn đầu tiên, ta có điểm ~H~ nằm trong tam giác ~ABC~.
  • Ở truy vấn thứ hai, ta thấy không có điểm đỏ nào nằm hoàn toàn trong một đa giác không tự cắt nào trong tập điểm ~\{A,B,D,F\}~.
  • Ở truy vấn thứ ba, ta có điểm ~H~ nằm trong đa giác ~CBFD~ và điểm ~G~ nằm trong đa giác ~CFDE~.

Subtask

  • Subtask ~1~ ~(20\%)~: ~n,m,q \le 100~, trong mọi truy vấn thì ~k = 3~.
  • Subtask ~2~ ~(25\%)~: ~n,m,q \le 100~, trong mọi truy vấn, đảm bảo rằng các điểm ~b_{x_1},b_{x_2},...,b_{x_k}~ tạo thành một đa giác lồi với các điểm theo thứ tự ngược chiều kim đồng hồ.
  • Subtask ~3~ ~(30\%)~: ~q \le 5 \times 10^3~.
  • Subtask ~4~ ~(25\%)~: Không có ràng buộc gì thêm.

Tô màu

Nộp bài
Time limit: 1.0 / Memory limit: 1G

Point: 100

Trong giờ sinh hoạt lớp, cô giáo tổ chức cho các bạn học sinh chơi một trò chơi "Tô màu dãy ô vuông". Ban đầu, cô giáo chuẩn bị một dãy các ô vuông xếp cạnh nhau và được đánh số từ ~1~ đến ~N~ và được tô toàn bộ màu có số hiệu là ~0~. Trò chơi diễn ra trong ~M~ lượt chơi, mỗi lượt cô gọi một học sinh bất kì lên tô màu dải ô vuông: học sinh sẽ nghĩ ra ba số nguyên dương ~L, R, C~ ~(L ≤ R)~ và thực hiện tô màu có số hiệu ~C~ từ ô ~L~ đến ô ~R~ (màu của ô vuông sẽ là màu của người tô sau). Kết thúc ~M~ lượt chơi rất hăng say, được một dãy ô vuông rất đẹp, cô giáo bảo các bạn ghi lại ba số ~L, R, C~ mà các bạn nghĩ ra ở lượt chơi của mình và cô giáo đánh số lại các lượt chơi từ ~1~ đến ~M~. Sau đó, cô giáo đố các bạn một câu hỏi rất hóc búa: từ danh sách ghi thông tin tô màu của các bạn học sinh, hãy đưa ra thứ tự các lượt tô màu để từ dãy ô vuông ban đầu thu được dãy ô vuông khi trò chơi kết thúc.

Yêu cầu: Hãy giúp các bạn học sinh sắp xếp lại thứ tự các lượt tô màu.

Dữ liệu vào từ tệp văn bản COLOR.INP:

  • Dòng đầu tiên chứa hai số nguyên dương ~N~ và ~M~ ~(1 ≤ N, M ≤ 5 \times 10^5)~ là số ô vuông và số lượt tô màu~;~
  • ~M~ dòng sau, mỗi dòng thứ ~i~ chứa ba số nguyên ~L_i, R_i, C_i~ ~(1 ≤ i ≤ M;~ ~\ 1 ≤ L_i ≤ R_i ≤ N;~ ~\ 1 ≤ C_i ≤ 5 \times 10^5)~ mô tả dòng thứ ~i~ ở danh sách ghi thông tin một lượt lượt tô màu~;~
  • Dòng cuối cùng chứa ~N~ số nguyên là số hiệu màu của từng ô vuông sau khi các bạn đã tô màu.

Kết quả ghi ra tệp văn bản COLOR.OUT:

Một dòng gồm ~M~ số nguyên là thứ tự tô màu để thu được dãy ô vuông khi trò chơi kết thúc. Có thể có bạn ghi nhầm thông tin lượt tô màu của mình nên không tìm được cách chọn thì in ra ~−1~. Nếu có nhiều cách chọn thì in ra cách bất kì.

Ràng buộc

  • Có ~20\%~ số test ứng với ~1 ≤ N, M ≤ 9;~
  • ~20\%~ số test khác ứng với ~1 ≤ N, M ≤ 5000~ và màu của mỗi lần tô là khác nhau~;~
  • ~20\%~ số test khác ứng với ~1 ≤ N, M ≤ 5 \times 10^5~ và màu của mỗi lần tô là khác nhau~;~
  • ~20\%~ số test khác ứng với ~1 ≤ N, M ≤ 5000;~
  • ~10\%~ số test khác ứng với ~1 ≤ N, M ≤ 5 \times 10^5~ và ~1 ≤ C_i ≤ 5;~
  • ~10\%~ số test còn lại không có điều kiện gì thêm.

Ví dụ

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