2023-08-29 『ボルト』を観た / ABC185 F を解いた
昨日だけど『ボルト』を観た。犬。
- Range Xor Query (AtCoder Beginner Contest 185:F問題)
https://atcoder.jp/contests/abc185/tasks/abc185_f
- https://atcoder.jp/contests/abc185/submissions/45045088
- segtree を貼るだけの問題
set(x, y)
ではなくset(x, get(x) ^ y)
な点くらい
use proconio::input;
use segtree::*;
fn main() {
input! {
n: usize,
q: usize,
a: [usize; n],
txy: [(usize, usize, usize); q],
}
let mut segtree = Segtree::<BitwiseXor<usize>>::new(n);
for (i, a_i) in a.iter().copied().enumerate() {
segtree.set(i, a_i);
}
for (t, x, y) in txy {
match t {
1 => {
segtree.set(x - 1, segtree.get(x - 1) ^ y);
}
2 => {
println!("{}", segtree.prod(x - 1..y));
}
_ => unreachable!(),
}
}
}
// segtree
今日のコミット。
- rust-atcoder 1 commit
- kireta 1 commit