canuc80k5108·9/17

Mưa Thiên Thạch

Nộp bài trên LQDOJ

Bài 51 · Parallel Binary Search

Một quỹ đạo tròn được chia thành khu vực đánh số ; khu vực kề khu vực . Mỗi khu vực có đúng một trạm, thuộc một trong quốc gia. Quốc gia muốn thu ít nhất mẫu.

Có sự kiện theo thứ tự thời gian. Sự kiện cộng mẫu cho mỗi trạm trên cung từ đến :

  • nếu , cung gồm các khu vực ;
  • nếu , cung đi qua điểm vòng và gồm .

Với mỗi quốc gia, hãy tìm sự kiện sớm nhất mà tổng mẫu tại tất cả trạm của quốc gia đạt ít nhất mục tiêu. Một quốc gia có thể không sở hữu trạm nào.

Input

  • Dòng đầu chứa và : số quốc gia và số khu vực.
  • Dòng thứ hai chứa số oi, trong đó oi là quốc gia sở hữu trạm ở khu vực .
  • Dòng thứ ba chứa mục tiêu .
  • Dòng thứ tư chứa số sự kiện .
  • dòng tiếp theo, mỗi dòng chứa theo thứ tự thời gian.

Output

  • Với mỗi quốc gia từ đến , in chỉ số sự kiện sớm nhất làm tổng mẫu đạt mục tiêu; in NIE nếu sau toàn bộ sự kiện vẫn chưa đạt.

Constraints

  • .
  • .
  • .
  • và .
  • Nếu , sự kiện tác động các khu vực ; nếu , sự kiện tác động và .
  • Một quốc gia có thể không sở hữu trạm nào.

Scoring

  • Subtask ( số điểm): .
  • Subtask ( số điểm): Không có giới hạn bổ sung.

Example

Test 1

Input

5 7
1 2 1 3 4 2 3
5 6 10 4 1
4
6 2 2
3 5 3
1 7 1
4 4 10

Output

2
3
4
3
NIE

Giải thích: Sau sự kiện thứ hai, hai trạm của quốc gia nhận tổng . Quốc gia và đạt mục tiêu ở sự kiện , quốc gia cần sự kiện , còn quốc gia không có trạm nên nhận NIE.

Lời giải tóm tắt
  • Ý tưởng: Lưu danh sách khu vực của từng quốc gia. Với quốc gia s, predicate tại thời điểm t là tổng mẫu ở các trạm của s sau t sự kiện đạt ít nhất p_s. Mọi lượng cộng đều dương, nên predicate đơn điệu.
  • Ý tưởng: Mỗi quốc gia giữ lo=0, hi=k+1, trong đó k+1 là sentinel không đạt. Trong một vòng PBS, bucket quốc gia theo midpoint, reset Fenwick hiệu và quét các sự kiện. Cập nhật thường là range-add [l,r]; cập nhật vòng được tách thành [l,m] và [1,r]. Khi tới bucket t, cộng point-query tại các trạm của quốc gia và dừng sớm khi đã đạt mục tiêu.
  • Ý tưởng: Đủ mục tiêu thì hạ hi, thiếu thì nâng lo. Kết quả k+1 được in thành NIE.
  • Độ phức tạp: O((m+k) log m log(k+1) + n log(k+1)) thời gian theo tổng lượt duyệt trạm, và O(n+m+k) bộ nhớ.