#P3517. [POI 2011] WYK-Plot

    ID: 2586 Type: RemoteJudge 10000ms 125MiB Tried: 0 Accepted: 0 Difficulty: 7 Uploaded By: Tags>2011倍增二分POISpecial Judge

[POI 2011] WYK-Plot

题目描述

We call any sequence of points in the plane a plot.

We intend to replace a given plot (P1,,Pn)(P_1,\cdots,P_n) with another that will have at most mm points (mnm\le n) in such a way that it "resembles" the original plot best.

The new plot is created as follows. The sequence of points P1,,PnP_1,\cdots,P_n can be partitioned into ss (sms\le m) contiguous subsequences:

$(P_{k_0+1},\cdots,P_{k_1}),(P_{k_1+1},\cdots,P_{k_2}),\cdots,(P_{k_{s-1}+1},\cdots,P_{k_s})$ where 0=k0<k1<k2<<ks=n0=k_0<k_1<k_2<\cdots<k_s=n,and afterwards each subsequence (Pki1+1,,Pki)(P_{k_{i-1}+1},\cdots,P_{k_i}), for i=1,,si=1,\cdots,s,is replaced by a new point QiQ_i.

In that case we say that each of the points Pki1+1,,PkiP_{k_{i-1}+1},\cdots,P_{k_i} has been contracted to the point QiQ_i.

As a result a new plot, represented by the points Q1,,QsQ_1,\cdots,Q_s, is created.

The measure of such plot's resemblance to the original is the maximum distance of all the points P1,,PnP_1,\cdots,P_n to the point it has been contracted to:

$max_{i=1,\cdots,s}(max_{j=k_{i-1}+1,\cdots,k_i}(d(P_j,Q_i)))$ where d(Pj,Qi)d(P_j,Q_i) denotes the distance between PjP_j and QiQ_i, given by the well-known formula:

$d((x_1,y_1),(x_2,y_2))=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$

An exemplary plot P1,,P7P_1,\cdots,P_7 and the new plot (Q1,Q2)(Q_1,Q_2), where (P1,,P4)(P_1,\cdots,P_4) are contracted to Q1Q_1, whereas (P5,P6,P7)(P_5,P_6,P_7) to Q2Q_2.

For a given plot consisting of nn points, you are to find the plot that resembles it most while having at most mm points, where the partitioning into contiguous subsequences is arbitrary.

Due to limited precision of floating point operations, a result is deemed correct if its resemblance to the given plot is larger than the optimum resemblance by at most 0.0000010.000001.

输入格式

In the first line of the standard input there are two integers nn and mm, 1mn100 0001\le m\le n\le 100\ 000, separated by a single space.

Each of the following nn lines holds two integers, separated by a single space.

The (i+1)(i+1)-th line gives xix_i,yiy_i,1 000 000xi,yi1 000 000-1\ 000\ 000\le x_i,y_i\le 1\ 000\ 000 denoting the coordinates (xi,yi)(x_i,y_i) of the point PiP_i.

输出格式

In the first line of the standard output one real number dd should be printed out, the resemblance measure of the plot found to the original one.

In the second line of the standard output there should be another integer ss, 1sm1\le s\le m.

Next, the following ss lines should specify the coordinates of the points Q1,,QsQ_1,\cdots,Q_s,one point per line.

Thus the (i+2)(i+2)-th line should give two real numbers uiu_i and viv_i, separated by a single space, that denote the coordinates (ui,vi)(u_i,v_i) of the point QiQ_i.All the real numbers should be printed with at most 15 digits after the decimal point.

7 2
2 0
0 4
4 4
4 2
8 2
11 3
14 2
3.00000000
2
2.00000000 1.76393202
11.00000000 1.99998199