3065 bzoj

3065:小さな値Kとの間隔を挿入します

制限時間:60秒   メモリ制限:512メガバイトの
提出:5067   解決:1658
[ 送信 ] [ ステータス ] [ 議論 ]

説明

かつてそこにn個のノミの朝の運動を揃え、それぞれ[i]はジャンプ力を、独自のノミを持っています。王は非常に満足して、これらのノミノミ盛んな国のシーンを見ました。喜び、クエリ間隔kの小さな値についてのその後のノミキング合理的な意思決定。彼はそのフォロワーに質問をするたびにボルト:右のx-k番目の[i]は小さな値であり、中のy番目のノミに左から。
これは、ボルトを打つことができない、彼は彼の頭の機能セグメントツリーのプレフィックスと王を求めてオフミジンコの方法で使用しています。
そして、ボルトは、いくつかのノミは、長いジャンプ能力が異なりますいくつかの増加といくつかの減少をジャンプしました。
これは彼が王に尋ねるヘッド方式ノミオフ水にフェンウィック木のカバーツリーラインを使用し、ボルトを打つことはできません。(木のORZ会長)は
......彼はそうないので、その後のライン上の特定の位置に挿入されているいくつかの後半ボルトのノミを発見し、彼は、非常に怒っていました。
バンチボルトバーを助けてください。
質問のエディション意味を表す:挿入して、間隔kの小さな値オンラインのお問い合わせを更新します。

 

入力

第一の正の整数nの行、Nノミが朝の練習を行う列に配置されていることを示しています。
ノミの各跳躍能力の代わりに左から右に第二行は、n個のスペースで区切られた非負の整数を有します。
第三行正の整数qは、次のように操作の数を表します。
以下q行の合計3つの動作の全体の動作は、プロ配列:( Mノミの合計を想定)
1. XYK Q:バウンス、最初に左から右にYノミ第1呼び掛けノミxを左から右へK-力の小さなノミのジャンプ能力です。
    - (1 <= xと<= Y <= M ,. 1 <= K <= Y 1 + X。)
2. X Mヴァル:X-VALにノミの能力をジャンプ、左から右へ。
    (1 <= xと<= M。)
3. IのXのヴァル:ジャンプノミヴァルのxノミ挿入力の前で左から右へ。私は左から右に新たに挿入されたノミを挿入した後、つまり、最初のxノミはい。
    (1 <= xと<= M + 1)

オンライン操作を反映させるためには、クエリの結果にlastAnsを設定すると、プログラムの出力、あなたは尋ねていない場合、lastAns = 0。
入力が実際にあるとき:
Q _K _xの_y ------> _xの_y ^ Q lastAns _K ^ ^ lastAns lastAnsを表し
_val>は_x ^ lastAns _val ^ M lastAns表し_x ------ M
I _val _xを------> Iは^ lastAns _val ^ lastAnsは_x表す
排他的であること、またはクエリ結果が復号される単に操作入力の整数です。

(私はパスカルC ++の迅速な転送は、パスカルのバージョンが説明を提供していない学生を願っています。)

 

出力

各クエリの出力は答えるためには、ラインの答えは1 1。

 

サンプル入力

10
10 5 8 28 0 19 2 31 1 22
30
I 6 9
M 1 11
I 8 17
M 1 31
M 6 26
Q 2 7 6
I 23 30
M 31 7
I 22 27
M 26 18
Q 26 17 31
I 5 2
I 18 13
Q 3 3 3
I 27 19
Q 23 23 30
Q 5 13 5
I 3 0
M 15 27
Q 0 28 13
Q 3 29 11
M 2~8
Q 12 5 7
I 30 19
M 11 19
Q 17 8 29
M 29 4
Q 3 0 12
I 7 18
M 29 27

サンプル出力

28
2
31
0
14
15
14
27
15
14

ヒント

 

この質問彼の実務を遂行するために少し研究はそれの多くを持っているように~~私はどのように多くの質問の練習を知りません。

意識的にO(^ 2Nを記録)、私は故意にカードリストをブロックし、ブロック鎖A ......私の愛情のおかげを受け入れてくださいしてください

そこに学生が自らの慣行の下でということを言って簡単にご相談ください-

オリジナル配列の長さ<=を35,000

挿入番号<= 35000、変更の数<= 70000、クエリ<=7万、0 <=時々刻々重み<= 70,000数

が質問OJ、データ定組成そうだからです。カードOJ、この質問のデータのみ4セットを防ぐために。

この問題は2つの方法で一般的に行われている:一つはブロックであり、重みの別のセットは、身代わりツリーツリーセグメント(セグメントツリーのマージ操作が必要とされる)であります 

おすすめ

転載: www.cnblogs.com/ZJXXCN/p/11374585.html