問題一覧 > 通常問題

No.2281 K → K-1 01 Flip

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

問題文

01 のみで作られた長さ $N$ の文字列 $S$ が与えられます。

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


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

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

入力

$N\ \ Q$
$S$
$L_1\ \ R_1\ \ K_1$
$L_2\ \ R_2\ \ K_2$
$:$
$L_Q\ \ R_Q\ \ K_Q$

  • $2 \leq N \leq 2×10^5$
  • $1 \leq Q \leq 2×10^5$
  • $1 \leq L_i < R_i \leq N$
  • $2 \leq K_i \leq R_i - L_i + 1$
  • $S$ は01 からなる長さ $N$ の文字列である
  • 入力される数値は整数である

出力

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

サンプル

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

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

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