「Daily OI Round 1」Memory

Luogu
IDLGP9594
Time1000ms
Memory512MB
DifficultyP6
动态规划 DP线段树洛谷原创O2优化动态规划优化
给定 $m$ 条线段,每条线段由四个正整数参数 $l_i,r_i,c_i,w_i$ 描述,其中 $l_i,r_i$ 是这条线段的端点,$c_i$ 是这条线段的种类,$w_i$ 是这条线段的权值。 你需要选出一些线段,满足以下条件且权值总和最高。 - 对于任意两条不同的线段 $i,j$,满足 $c_i = c_j$ 或 $[l_i,r_i]\cap[l_j,r_j]=\varnothing$。 ## Input 第一行一个正整数 $m$,代表线段数量。 接下来 $m$ 行,每行四个正整数 $l_i,r_i,c_i,w_i$ 描述线段的四个参数,含义如题所示。 ## Output 输出一行一个整数,表示能够得到的最大权值和。 [samples] ## Note ### **样例解释** 对于样例 $1$,选出的线段分别是 $1,2,3$ 号线段,它们种类都相同,且权值和为 $21$,可以证明这是最优的选法。 ### **数据范围** **本题开启捆绑测试。** |$\text{Subtask}$|分值|$m \le$|$w_i \le$|$c_i \le $|特殊性质| | :-----------: | :-------------:|:-----------: | :-----------: | :-----------: | :-----------: | |$0$|$5$|$16$|$10$|$10^9$|无| |$1$|$20$|$2 \times 10^3$|$10^4$|$10^9$|无| |$2$|$20$|$10^5$|$10^4$|$2$|无| |$3$|$20$|$10^5$|$10^4$|$10^9$|A| |$4$|$35$|$10^5$|$10^4$|$10^9$|无| - 特殊性质 A:不存在互不相同的正整数 $i,j$ 使得 $l_i<l_j \leq r_j < r_i$。 对于全部数据,保证:$1\leq m\leq10^5$,$1\leq l_i\leq r_i\leq10^9$,$1\leq c_i\leq 10^9$,$1\leq w_i\leq10^4$。
Samples
Input #1
5
2 9 1 1
3 9 1 10
4 8 1 10
5 6 3 1
7 9 3 10
Output #1
21
Input #2
10
1 2 2 8
2 4 2 2
6 10 3 5
2 8 2 4
5 9 2 7
1 1 1 10
2 8 2 2
1 7 3 7
8 9 2 4
5 7 3 3
Output #2
29
API Response (JSON)
{
  "problem": {
    "name": "「Daily OI Round 1」Memory",
    "description": {
      "content": "给定 $m$ 条线段,每条线段由四个正整数参数 $l_i,r_i,c_i,w_i$ 描述,其中 $l_i,r_i$ 是这条线段的端点,$c_i$ 是这条线段的种类,$w_i$ 是这条线段的权值。 你需要选出一些线段,满足以下条件且权值总和最高。 - 对于任意两条不同的线段 $i,j$,满足 $c_i = c_j$ 或 $[l_i,r_i]\\cap[l_j,r_j]=\\varnothing$。",
      "description_type": "Markdown"
    },
    "platform": "Luogu",
    "limit": {
      "time_limit": 1000,
      "memory_limit": 524288
    },
    "difficulty": {
      "LuoguStyle": "P6"
    },
    "is_remote": true,
    "is_sync": true,
    "sync_url": null,
    "sign": "LGP9594"
  },
  "statements": [
    {
      "statement_type": "Markdown",
      "content": "给定 $m$ 条线段,每条线段由四个正整数参数 $l_i,r_i,c_i,w_i$ 描述,其中 $l_i,r_i$ 是这条线段的端点,$c_i$ 是这条线段的种类,$w_i$ 是这条线段的权值。\n\n你需要选出一些线段,满足以下条件且权值总和最高。\n\n- 对于任意两条不同的线段 $i,j$,满足 $c_i = c_j$ 或 $[l_i,r_i]\\cap[l_j,r_j]=\\varnothing$。\n...",
      "is_translate": false,
      "language": "English"
    }
  ]
}
Full JSON Raw Segments