Logo
(追記) (追記ここまで)

22453번 - A + B 다국어

시간 제한메모리 제한제출정답맞힌 사람정답 비율
8 초 512 MB1371133.333%

문제

プログラミングコンテストの合宿で出す問題のアイディアが出ずに困っていたイクタ君は、ある日友人に相談した。

イクタ君「こういうアルゴリズムを使わないと解けないような問題が出したいんですけど、なにかありませんかね?」

友人「それではこういうものを考えたらいいんじゃないですか」

このようにしてその友人は以下のような問題の原案となるアイデアを考えてくれた。

2進数$A,B$が与えられた時、以下の様なクエリを処理せよ。

  • 出力クエリ: max{$x$ を2進数で表したときの、1の数 | $A \leq x < A+B$ }を出力

  • A変更クエリ: $A$の最下位ビットから$i$ビット目(0-origin)を反転

  • B変更クエリ: $B$の最下位ビットから$i$ビット目(0-origin)を反転

$i$ビット目というのが 0-origin で表されていることに注意せよ。 つまり、$A$の最下位ビットから0ビット目とは最下位ビットを表す。

입력

入力は以下の形式で与えられる。

$N$ $A$ $B$

$Q_{1}$

...

$Q_{N}$

1行目にクエリの数N,2進数A, Bが与えられる。

2〜N+1行目には以下の様なクエリが与えられる。

  • Q

  • A $i$

  • B $i$

Qが出力クエリを、A $i,ドルB $i$はそれぞれ$A$の最下位ビットから$i$ビット目、$B$の最下位ビットから$i$ビット目を反転させる変更クエリを表している。

출력

出力クエリごとに答えを1行に出力せよ。

제한

入力中の各変数は以下の制約を満たす。

  • 1ドル \leq N < 300,000$

  • 1ドル \leq |A|,|B| \leq 300,000$ ($|A|$は$A$の長さ)

  • A $i$ というクエリでは 0ドル \leq i < |A|$

  • B $i$ というクエリでは 0ドル \leq i < |B|$

  • $B$が0になることはない

예제 입력 1

4 10000 00101
Q
A 0
B 1
Q

예제 출력 1

3
4

最初の出力クエリでは $A=10000,ドル $B=00101,ドル $A+B=10101$なので求める$x$は10011

次の出力クエリでは $A=10001,ドル $B=00111,ドル $A+B=11000$なので求める$x$は10111

예제 입력 2

9 0110111101 0010100111
Q
B 4
Q
A 4
Q
B 9
Q
A 8
Q

예제 출력 2

9
9
9
10
9

힌트

출처

Contest > ICPC Japanese Alumni Group > JAG Summer Camp > JAG Summer Camp 2013 Day 3 I번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /