diff --git a/day2/U111091/U111091.html b/day2/U111091/U111091.html deleted file mode 100644 index d3a0447..0000000 --- a/day2/U111091/U111091.html +++ /dev/null @@ -1,106 +0,0 @@ - - U111091 - - - - - - - - - - - - - -
- -

区间2段覆盖

-

题目描述

-

nn 个村庄坐落在数轴上,坐标为 x[1...n]x[1...n]。村庄之间有 n1n-1 条道路,其中有些道路是土路,有些是高速公路。具体地,第 ii 个村庄和第 i+1i+1 个村庄之间只有一条道路,要么是土路、要么是高速公路,并且输入会告诉所有 n1n-1 条道路的种类。

-

现在有 k(k2)k(k\le 2) 个铺路计划,每个铺路计划可以在数轴上 任意选择一段长度m\le m 的区间 [l,r][l,r],将其中间全部变成高速公路。注意区间端点可以任意选择,可以选在村庄处、村庄之间,甚至可以是小数。

-

请问该如何铺路,使得从 x[1]x[1] 走到 x[n]x[n] 路径上的土路总长度最小。

-

输入格式

-

第一行1个整数 TT,代表有 TT 组数据

-

每组数据第一行 3 个整数 n,k,mn,k,m

-

第二行 nn 个整数 x[1,2,...,n]x[1,2,...,n],保证 x[1]=0,x[i1]x[i]x[1]=0, x[i-1]\le x[i]

-

第三行 1 个长度 n1n-101字符串,代表 n1n-1 条路的种类,0 代表高速公路,1 代表土路。

-

输出格式

-

输出 TT 行,对于每组数据输出1个整数代表答案

-

自检样例

-

输入

-
1
-2 1 2
-2 3
-0
-
-

输出

-
0
-

样例 #1

-

样例输入 #1

-
5
-3 2 13
-0 6 80 
-11
-7 2 11
-0 50 80 83 86 97 97 
-111011
-2 2 43
-0 83 
-1
-9 2 47
-0 26 34 40 71 75 79 98 99 
-11111101
-10 2 36
-0 14 28 29 30 37 55 64 65 81 
-011101000
-

样例输出 #1

-
54
-72
-0
-1
-0
-

样例 #2

-

样例输入 #2

-
2
-5 2 3
-0 1 2 3 5
-1011
-4 2 3
-0 1 5 6
-111
-

样例输出 #2

-
0
-0
-

样例 #3

-

样例输入 #3

-
见下发样例
-

样例输出 #3

-

提示

-

对于100%的数据,1n50000,0m,x[i]109,1T1001\le n\le 50000, 0\le m,x[i]\le 10^9,1\le T\le 100

-

subtask1(20pts):n500m,x[i]105k=1n\le 500,m,x[i]\le 10^5,k=1

-

subtask2(20pts):n500m,x[i]105k=2n\le 500,m,x[i]\le 10^5,k=2

-

subtask3(20pts):n50000m,x[i]109k=1n\le 50000,m,x[i]\le 10^9,k=1

-

subtask4(40pts):n50000m,x[i]109k=2n\le 50000,m,x[i]\le 10^9,k=2

-

【注意】请使用快速的读入方式

- -
- - - - - - - - - - \ No newline at end of file diff --git a/day2/U111091/U111091.pdf b/day2/U111091/U111091.pdf new file mode 100644 index 0000000..ee6e9b2 Binary files /dev/null and b/day2/U111091/U111091.pdf differ