#ahc020a. [ahc020_a]Broadcasting

[ahc020_a]Broadcasting

ストーリー

AtCoder社は、最新情報の提供や視聴者との交流を目的とした公式生放送「あーだこーだー」をインターネット上で定期的に配信している。より多くの視聴者に生放送を観てもらいたいと考えた高橋社長は、テレビ用の放送網を構築してAA市の全住民に生放送を配信することにした。

AA市のテレビ配信網は放送局を頂点、放送局間の通信ケーブルを辺とした重み付き平面無向グラフで表現され、座標 (x1,y1)=(0,0)(x_1, y_1) = (0, 0) に存在する放送局 11 にはAtCoderオフィスが併設されている。各通信ケーブルは電源の ON/OFF を設定可能であり、電源が ON である通信ケーブルのみを経由して放送局 11 から到達できる各放送局からは放送用電波を発信することが可能となる。放送用電波の出力強度は各放送局ごとに調整可能であり、出力強度によって生放送を配信可能となる領域が変化する。

通信ケーブルの使用および放送用電波の発信にはコストがかかるため、できるだけコストを抑えつつ、全ての住民に生放送を配信できるような放送網を構築して欲しい。

問題文

NN 頂点 MM 辺の重み付き平面無向グラフ GG が与えられる。頂点 ii の座標は (xi,yi)(x_i, y_i) であり、辺 jj は頂点 uju_jvjv_j を結ぶ重み wjw_j の辺である。頂点 uju_j と頂点 vjv_j 間のユークリッド距離を四捨五入したものを $D_j=\\mathrm{round}\\left(\\sqrt{(x_{u_j}-x_{v_j})^2+(y_{u_j}-y_{v_j})^2}\\right)$ とすると、重み wjw_j100Djlewjle2500Dj100D_j\\le w_j\\le 2500D_j を満たす。また住民の座標が KK 個与えられ、住民 kk の座標は (ak,bk)(a_k, b_k) である。

各辺について電源の ON/OFF を、各頂点 i=1,2,cdots,Ni=1,2,\\cdots,N について整数値の 出力強度 Pi(0lePile5000)P_i\\ (0\\le P_i\\le 5000) を設定せよ。 このとき、以下のようにして生放送が配信される。 電源が ON である辺の集合を EE' とする。EE' に含まれない辺を GG から削除した部分グラフ GG' を考え、 GG' において頂点 11 と同一連結成分に含まれる頂点集合を VV' とする。 各 iinVi\\in V' について、座標 (xi,yi)(x_i, y_i) を中心とした半径 PiP_i の円形領域内(円周上を含む)に存在する住民が生放送を視聴可能となる。

jj電源を ON に設定すると、コスト wjw_j が発生する。 また頂点 ii出力強度PiP_i に設定すると、コスト Pi2P_i^2 が発生する。 inotinVi\\notin V' である ii について PiP_i を正の値に設定してもよいが、生放送視聴可能な領域は発生せずコストのみが発生する。 全ての住民に生放送を配信しつつコストの総和 S=sumi=1NPi2+sumjinEwjS=\\sum_{i=1}^N{P_i^2}+\\sum_{j\\in E'} w_j ができるだけ小さくなるような放送網を構築せよ。

得点

生放送が視聴可能となった住民の数を nn 人としたとき、以下の得点が得られる。

  • nltKn\\lt K の場合、 mathrmround(106times(n+1)/K)\\mathrm{round}(10^6 \\times (n+1)/K)
  • n=Kn=K の場合、 mathrmround(106times(1+108/(S+107)))\\mathrm{round}(10^6\\times(1+10^8/(S+10^7)))

SS が32bit整数型に収まらない場合がある ことに注意せよ。

テストケースは全部で 300 個あり、各テストケースの得点の合計が提出の得点となる。 seed=0 の入力は手動で作成されたものであり、テストケースには含まれない。 一つ以上のテストケースで不正な出力や制限時間超過をした場合、提出全体の判定がWA