結果

問題 No.3507 RangeSum RangeUpdate RangeSqrt
コンテスト
ユーザー 👑 to-omer
提出日時 2026-04-17 22:36:58
言語 Rust
(1.94.0 + proconio + num + itertools)
コンパイル:
/usr/bin/rustc_custom
実行:
./target/release/main
結果
AC  
実行時間 273 ms / 2,000 ms
コード長 24,889 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 792 ms
コンパイル使用メモリ 187,304 KB
実行使用メモリ 19,712 KB
最終ジャッジ日時 2026-04-17 22:37:19
合計ジャッジ時間 9,281 ms
ジャッジサーバーID
(参考情報)
judge1_1 / judge3_1
外部呼び出し有り
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 1
other AC * 29
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

code!{
pub fn solve() {
    crate::prepare!();
    define_enum_scan! {
        enum Query: u8 {
            0 => RangeSum { l: usize, r: usize },
            1 => RangeUpdate { l: usize, r: usize, x: usize },
            2 => RangeIsqrt { l: usize, r: usize },
        }
    }
    sc!(n, q, a: [usize; n], queries: [Query; q]);
    let mut seg = LazySegmentTree::<X>::from_keys(a.iter().cloned());
    for query in queries {
        match query {
            Query::RangeSum { l, r } => {
                if l == n {
                    pp!(0);
                    continue;
                }
                let ans = seg.fold(l..r).0;
                pp!(ans);
            }
            Query::RangeUpdate { l, r, x } => {
                if l == n {
                    continue;
                }
                seg.update(l..r, (Some(x), 0));
            }
            Query::RangeIsqrt { l, r } => {
                if l == n {
                    continue;
                }
                seg.update(l..r, (None, 1));
            }
        }
    }
}
struct X;
impl Magma for X {
    type T = (Option<usize>, usize);
    fn operate(x: &Self::T, y: &Self::T) -> Self::T {
        if let Some(y0) = y.0 {
            (Some(y0), y.1)
        } else {
            (x.0, x.1 + y.1)
        }
    }
}
impl Associative for X {}
impl Unital for X {
    fn unit() -> Self::T {
        (None, 0)
    }
}
impl MonoidAct for X {
    type Key = usize;
    type Act = (Option<usize>, usize);
    type ActMonoid = X;

    fn act(x: &Self::Key, a: &Self::Act) -> Self::Key {
        let mut t = if let Some(a0) = a.0 { a0 } else { *x };
        for _ in 0..a.1 {
            if t <= 1 {
                break;
            }
            t = t.isqrt();
        }
        t
    }
}
impl LazyMapMonoid for X {
    type Key = usize;
    type Agg = (usize, usize, usize, usize);
    type Act = (Option<usize>, usize);
    type AggMonoid = (
        AdditiveOperation<usize>,
        MinOperation<usize>,
        MaxOperation<usize>,
        AdditiveOperation<usize>,
    );
    type ActMonoid = X;
    type KeyAct = X;

    fn single_agg(&key: &Self::Key) -> Self::Agg {
        (key, key, key, 1)
    }

    fn act_agg(x: &Self::Agg, a: &Self::Act) -> Option<Self::Agg> {
        if a.1 == 0 {
            if let Some(a0) = a.0 {
                Some((a0 * x.3, a0, a0, x.3))
            } else {
                Some(*x)
            }
        } else if x.1.isqrt() == x.2.isqrt() {
            let mut t = if let Some(a0) = a.0 { a0 } else { x.1 };
            for _ in 0..a.1 {
                if t <= 1 {
                    break;
                }
                t = t.isqrt();
            }
            Some((t * x.3, t, t, x.3))
        } else {
            None
        }
    }
}
crate::main!();
}
fn main()->std::io::Result<()>{use std::{env::temp_dir,fs::File,io::Write,process::{exit,Command}};let e=temp_dir().join("binBC9A9DD4");let mut b=Vec::with_capacity(B.len()*8/6);let mut x=0;let mut t=vec![64;256];for i in 0..64{t[b"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[i]as usize]=i as u8;}for(i,c)in B.iter().map(|&c|t[c as usize]).filter(|&c|c<64).enumerate(){x=match i%4{0=>c<<2,1=>{b.push(x|c>>4);c<<4}2=>{b.push(x|c>>2);c<<6}_=>{b.push(x|c);0}}}Write::write_all(&mut File::create(&e)?,&b)?;#[cfg(unix)]std::fs::set_permissions(&e,std::os::unix::fs::PermissionsExt::from_mode(0o755))?;exit(Command::new(&e).status()?.code().unwrap())}#[macro_export]macro_rules!code{($($t:tt)*)=>{}}const B:&[u8]=b"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";
0