[AGM 2022 资格赛] 区间

Luogu
IDLGP8233
Time5000ms
Memory512MB
DifficultyP5
线段树2022O2优化AGM
给你一个一行无限列的方格,刚开始每个格子都是白色。 你需要维护以下两种操作: * `1 l r`:将 $l$ 到 $r$ 中每个格子都填成黑色。 * `2 l r`:查询 $[l,r]$ 有多少个子区间满足区间内格子都是黑色。 ## Input 第一行一个整数 $n$ 表示操作次数。 接下来 $n$ 行,每行三个数 $opt,l,r$ 表示操作种类和区间。 ## Output 对于每个 $2$ 操作输出一行一个整数表示答案在 $\bmod\ 1000000007$ 意义下的值。 [samples] ## Note #### 数据规模与约定 对于 $100\%$ 的数据,保证 $1\leq n\leq 10^6$,$1\leq opt\leq 2$,$1\leq l\leq r\leq 10^{18}$。 #### 说明 翻译自 [AGM 2022 Qualification Round E Intervals](https://judge.agm-contest.com/public/problems/4/text)。
Samples
Input #1
4
1 2 2
2 1 5
1 3 5
2 1 5
Output #1
1
10
API Response (JSON)
{
  "problem": {
    "name": "[AGM 2022 资格赛] 区间",
    "description": {
      "content": "给你一个一行无限列的方格,刚开始每个格子都是白色。 你需要维护以下两种操作: * `1 l r`:将 $l$ 到 $r$ 中每个格子都填成黑色。 * `2 l r`:查询 $[l,r]$ 有多少个子区间满足区间内格子都是黑色。  ",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 5000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P5"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP8233"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给你一个一行无限列的方格,刚开始每个格子都是白色。\n\n你需要维护以下两种操作:\n\n* `1 l r`:将 $l$ 到 $r$ 中每个格子都填成黑色。\n\n* `2 l r`:查询 $[l,r]$ 有多少个子区间满足区间内格子都是黑色。 \n\n## Input\n\n第一行一个整数 $n$ 表示操作次数。\n\n接下来 $n$ 行,每行三个数 $opt,l,r$ 表示操作种类和区间。\n\n## Output\n\n对...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments