問題一覧 > 通常問題

No.2281 K → K-1 01 Flip

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 20
作問者 : magsta / テスター : miscalc
4 ProblemId : 9190 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-04-21 18:59:16

問題文

01 のみで作られた長さ NN の文字列 SS が与えられます。

QQ 個のクエリが与えられます。ii 個目のクエリは以下のようなものです。


SS の左から LiL_i 個目を左端、左から RiR_i 個目を右端として取り出した連続部分文字列 XX に対し、以下の操作を 00 回以上出来ます。一連の操作後の文字列 XX の長さの最小値を求めてください。

  • KiK_i0 が連続している部分を Ki1K_i-1 個の 1 に置き換えるか、KiK_i1 が連続している部分を Ki1K_i-1 個の 0 に置き換える。

入力

N  QN\ \ Q
SS
L1  R1  K1L_1\ \ R_1\ \ K_1
L2  R2  K2L_2\ \ R_2\ \ K_2
::
LQ  RQ  KQL_Q\ \ R_Q\ \ K_Q

  • 2N2×1052 \leq N \leq 2×10^5
  • 1Q2×1051 \leq Q \leq 2×10^5
  • 1Li<RiN1 \leq L_i < R_i \leq N
  • 2KiRiLi+12 \leq K_i \leq R_i - L_i + 1
  • SS01 からなる長さ NN の文字列である
  • 入力される数値は整数である

出力

i (1iQ)i \ (1 \leq i \leq Q) 行目に ii 個目のクエリの答えを出力し、最後に改行せよ。

サンプル

サンプル1
入力
7 3
0100010
3 5 2
1 5 3
1 7 2
出力
2
2
2

11 つ目のクエリでは、00001 と操作することによって文字列の長さを 22 にできます。 文字列の長さを 11 以下にする方法は存在しないため、答えは 22 となります。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。