BZOJ4695 最假女选手

Luogu
IDLGP10639
Time2000ms
Memory512MB
DifficultyP6
线段树吉司机线段树 segment tree beats
给定一个长度为 $n$ 的序列,要求支持以下 $6$ 种操作: - 给一个区间 $[l,r]$ 加上一个整数 $x$; - 把一个区间 $[l,r]$ 内小于 $x$ 的数都变成 $x$; - 把一个区间 $[l,r]$ 内大于 $x$ 的数都变成 $x$; - 求区间 $[l,r]$ 的和; - 求区间 $[l,r]$ 的最大值; - 求区间 $[l,r]$ 的最小值; ## Input 第一行一个整数 $n$ 表示序列长度。 第二行 $n$ 个整数 $a_i$ 表示初始序列。 第三行一个整数 $m$ 表示操作个数。 接下来 $m$ 行,每行三或四个整数,表示一个题目中所描述的操作。 ## Output 对于每个 $4,5,6$ 类型的操作输出一行一个整数表示答案。 [samples] ## Note 数据保证,$1\leq n,m\leq 5\times 10^5$,$|a_i|\leq 10^8$。 当进行 $1$ 操作时,$|x| \leq 1000$; 当进行 $2$ 操作时,$|x| \leq 10^8$。
Samples
Input #1
2
1 2
2
2 1 2 2
4 1 2
Output #1
4
API Response (JSON)
{
  "problem": {
    "name": "BZOJ4695 最假女选手",
    "description": {
      "content": "给定一个长度为 $n$ 的序列,要求支持以下 $6$ 种操作: - 给一个区间 $[l,r]$ 加上一个整数 $x$; - 把一个区间 $[l,r]$ 内小于 $x$ 的数都变成 $x$; - 把一个区间 $[l,r]$ 内大于 $x$ 的数都变成 $x$; - 求区间 $[l,r]$ 的和; - 求区间 $[l,r]$ 的最大值; - 求区间 $[l,r]$ 的最小值;",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 2000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP10639"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定一个长度为 $n$ 的序列,要求支持以下 $6$ 种操作:\n- 给一个区间 $[l,r]$ 加上一个整数 $x$;\n- 把一个区间 $[l,r]$ 内小于 $x$ 的数都变成 $x$;\n- 把一个区间 $[l,r]$ 内大于 $x$ 的数都变成 $x$;\n- 求区间 $[l,r]$ 的和;\n- 求区间 $[l,r]$ 的最大值;\n- 求区间 $[l,r]$ 的最小值;\n\n## Input\n\n第...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments