Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

NKSET - Dãy số

Hiện tại, bài tập này đã có trên online judge chính thức của VNOI, bạn có thể truy cập ở đây: https://oj.vnoi.info/problem/nkset


Sau bao ngày ôn thi VOI mệt mỏi, nhân dịp Giáng Sinh thầy giao cho Tèo một bài toán cơ bản để vừa giải trí và vừa ôn lại kiến thức trước khi thi VOI. Thầy cho Tèo 1 dãy A gồm N số. Để bài toán đơn giản thầy cho các phần tử của dãy số là số nguyên không âm có giá trị  < K . Vì biết tính Tèo nếu gặp bài dễ quá sẽ không làm và bỏ đi chơi ngay nên thầy cho thêm Q truy vấn ,mỗi truy vấn thuộc vào 3 loại truy vấn sau để Téo thêm hứng thú trong việc ôn tập :3.


        Truy vấn thứ nhất: Với L <= i <= R, Ai = ( Ai + C + |C|*K ) mod K.

        Truy vấn thứ hai: cho tập S gồm m phần tử. Đếm số lượng dãy con liên tiếp kết thúc tại R và bắt đầu tại L (L <= R) sao cho tập S là tập con của tập các giá trị của dãy con liên tiếp  từ L -> R.

        Truy vấn thứ ba: đếm xem tập các giá trị của dãy con liên tiếp từ L -> R có bao nhiêu giá trị khác nhau.


Vì quá buồn do bị bạn gái bỏ ngay ngày Giáng Sinh nên Tèo không còn nghĩ được gì nữa :(, các bạn hãy giúp đỡ Tèo làm xong bài tập này nhé.


Dữ liệu vào

  • Dòng đầu chứa 3 số nguyên đương N, Q, K.
  • Dòng tiếp theo chứa N số nguyên dương là dãy số A ban đầu.
  • Q dòng tiếp theo dòng thứ i biểu diễn truy vấn thứ i:

       ADD L R C: Trong đó L R C là 3 số nguyên tương ứng với truy vấn 1
      COUNT R m S1 S2 S3 .. Sm: miêu tả loại truy vấn thứ 2, đầu tiên là R cho biết vị trí kết thúc theo sau là m cho biết số phần tử của tập S và m phần từ của tập S (nếu i <> j thì Si <> Sj)

      DIFF L R: trong đó L R là số nguyên miêu tả cho truy vấn thứ 3.


Giới hạn

  • 0 < N <= 10^5
  • 0 < Q <= 3*10^5
  • 0 < K <= 60
  • 0 < L <= R <= n
  • |C| <= 10^7
  • Tổng số lượng phẩn tử của tập S trong tất cả các truy vấn thuộc loại 2 <= 10^5.
  • 40% số test N <= 10^4.


Dữ liệu ra

  • Gồm T dòng với T là số lượng truy vấn loại 2 và loại 3.
  • Dòng thứ i tương ứng là kết quả của truy vấn thứ i trong T truy vấn thuộc loại 2 và 3.


Ví dụ

Dữ liệu vào:

14 30 10
2 4 5 8 6 0 0 1 9 8 6 6 5 9 
DIFF 13 14
DIFF 12 12
DIFF 9 14
ADD 3 12 15
COUNT 12 2 6 2 
COUNT 3 2 0 2 
ADD 9 12 21
DIFF 11 13
ADD 13 13 15
DIFF 13 13
DIFF 9 11
DIFF 6 13
DIFF 11 13
COUNT 1 1 2 
DIFF 2 9
COUNT 3 1 0 
DIFF 4 11
DIFF 4 5
ADD 2 7 -21
DIFF 4 9
ADD 14 14 -18
COUNT 3 1 2 
ADD 8 8 -24
ADD 14 14 -18
COUNT 5 2 9 0 
DIFF 6 8
ADD 1 12 18
DIFF 5 10
DIFF 8 11
DIFF 10 11


Dữ liệu ra:

2
1
4
1
1
2
1
3
5
2
1
6
3
6
2
5
1
3
2
4
3
2

 


Được gửi lên bởi:CoderPTNK1114
Ngày:2013-12-24
Thời gian chạy:1s
Giới hạn mã nguồn:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Ngôn ngữ cho phép:Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED
Nguồn bài:Sưu tầm

© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.