LG#P1233. 【GESP强化 六级】木棍加工

提交1 通过1
通过率100%
时间限制1000ms
内存限制128MiB
    ID: 10259 传统题 1000ms 128MiB 尝试: 1 已通过: 1 难度: 普及 上传者: 标签>GESPGESP强化C++c++编程题洛谷公开题动态规划 DP贪心2001ICPCDilworth 定理简单序列型DP2星

题目描述

一堆木头棍子共有 nn 根,每根棍子的长度和宽度都是已知的。棍子可以被一台机器一个接一个地加工。机器处理一根棍子之前需要准备时间。准备时间是这样定义的:

  • 第一根棍子的准备时间为 11 分钟。
  • 如果刚处理完长度为 ll,宽度为 ww 的棍子,那么如果下一个棍子长度为 lil_i,宽度为 wiw_i,并且满足 llil\ge l_iwwiw\ge w_i,这个棍子就不需要准备时间,否则需要 11 分钟的准备时间。

计算处理完 nn 根棍子所需要的最短准备时间。比如,你有 55 根棍子,长度和宽度分别为 (4,9),(5,2),(2,1),(3,5),(1,4)(4,9),(5,2),(2,1),(3,5),(1,4),最短准备时间为 22(按 (4,9),(3,5),(1,4),(5,2),(2,1)(4,9),(3,5),(1,4),(5,2),(2,1) 的次序进行加工)。

输入格式

第一行是一个整数 nnn5000n\le5000)。

第二行是 2n2n 个整数,分别是 l1,w1,l2,w2,,ln,wnl_1,w_1,l_2,w_2,\ldots,l_n,w_nllww 的值均不超过 1000010000,相邻两数之间用空格分开。

输出格式

仅一行,一个整数,所需要的最短准备时间。

5
4 9 5 2 2 1 3 5 1 4
2
1
1 1
1
99
1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 13 13 14 14 15 15 16 16 17 17 18 18 19 19 20 20 21 21 22 22 23 23 24 24 25 25 26 26 27 27 28 28 29 29 30 30 31 31 32 32 33 33 34 34 35 35 36 36 37 37 38 38 39 39 40 40 41 41 42 42 43 43 44 44 45 45 46 46 47 47 48 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 56 56 57 57 58 58 59 59 60 60 61 61 62 62 63 63 64 64 65 65 66 66 67 67 68 68 69 69 70 70 71 71 72 72 73 73 74 74 75 75 76 76 77 77 78 78 79 79 80 80 81 81 82 82 83 83 84 84 85 85 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 93 94 94 95 95 96 96 97 97 98 98 99 99
1

说明/提示

对于 100%100 \% 的数据,1n50001 \le n \le 50001li,wi1041 \le l_i, w_i \le {10}^4