{"problem":{"name":"BZOJ4355 Play with sequence","description":{"content":"维护一个长度为 $n$ 的整数序列 $a$，支持三种操作： - `1 u v c`，对于 $\\forall i \\in [u,v]$，将 $a_i$ 更改为 $c$； - `2 u v c`，对于 $\\forall i \\in [u,v]$，将 $a_i$ 更改为 $\\max(a_i+c,0)$； - `3 u v`，输出 $\\sum \\limits_{i=u}^v [a_i=0]$ 的值。","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1500,"memory_limit":524288},"difficulty":{"LuoguStyle":"P6"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP10638"},"statements":[{"statement_type":"Markdown","content":"维护一个长度为 $n$ 的整数序列 $a$，支持三种操作：\n\n- `1 u v c`，对于 $\\forall i \\in [u,v]$，将 $a_i$ 更改为 $c$；\n- `2 u v c`，对于 $\\forall i \\in [u,v]$，将 $a_i$ 更改为 $\\max(a_i+c,0)$；\n- `3 u v`，输出 $\\sum \\limits_{i=u}^v [a_i=0]$ 的值。\n\n## Input\n\n第一行输入两个正整数 $n,m$，表示序列长度和操作个数。\n\n第二行输入 $n$ 个整数 $a_i$，表示序列的初始状态。\n\n第三行开始，往下 $m$ 行，每行表示一个操作。\n\n## Output\n\n输出若干行，每行一个整数，依次回答每个操作 $3$ 的问题。\n\n[samples]\n\n## Note\n\n对于 $100\\%$ 的数据，$1\\leq n,m\\leq 3\\times 10^5$，$0\\leq a_i\\leq 10^9$。\n\n- 对于操作 $1$，保证 $0\\leq c\\leq 10^9$。\n- 对于操作 $2$，保证 $|c| \\leq 10^9$。\n\n且对于所有操作，保证 $1\\leq u\\leq v\\leq n$。","is_translate":false,"language":"English"}],"meta":{"iden":"LGP10638","tags":["线段树","O2优化","吉司机线段树 segment tree beats"],"sample_group":[["5 3\n6 4 6 6 4 \n2 1 5 -5\n1 3 4 4\n3 1 5","2"]],"created_at":"2026-03-03 11:09:25"}}