#P9827. [ICPC2020 Shanghai R] Sky Garden

    ID: 9146 远端评测题 1000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>动态规划,dp数学2020上海Special JudgeO2优化ICPC

[ICPC2020 Shanghai R] Sky Garden

题目描述

Prof. Du and Prof. Pang plan to build a sky garden near the city of Allin. In the garden, there will be a plant maze consisting of straight and circular roads.

On the blueprint of the plant maze, Prof. Du draws nn circles indicating the circular roads. All of them have center (0,0)(0, 0). The radius of the ii-th circle is ii.

Meanwhile, Prof. Pang draws mm lines on the blueprint indicating the straight roads. All of the lines pass through (0,0)(0, 0). Each circle is divided into 2m2m parts with equal lengths by these lines.

Let QQ be the set of the n+mn+m roads. Let PP be the set of all intersections of two different roads in QQ. Note that each circular road and each straight road have two intersections.

For two different points aPa\in P and bPb\in P, we define dis({a,b})dis(\{a, b\}) to be the shortest distance one needs to walk from aa to bb along the roads. Please calculate the sum of dis({a,b})dis(\{a, b\}) for all {a,b}P\{a, b\}\subseteq P.

输入格式

The only line contains two integers n,m (1n,m500)n,m~(1\le n,m\le 500).

输出格式

Output one number -- the sum of the distances between every pair of points in PP.

Your answer is considered correct if its absolute or relative error does not exceed 10610^{-6}.

题目大意

Prof. Du 和 Prof. Pang 计划在 Allin 城周围建立一个天空花园。在花园中,将有一个由直路和圆弧路组成的植物迷宫。

在植物迷宫的蓝图上,Prof. Du 画了 nn 个圆来表示所有的圆弧路,所有的 nn 个圆的圆心均为 (0,0)(0,0),第 ii 个圆的半径为 ii

同时,Prof. Pang 在蓝图上画了 mm 条直线,表示所有的直路。这 mm 条直线将所有的圆均分为 2m2m 份。

假定集合 QQ 是所有 n+mn+m 条路的集合,集合 PPQQ 中任意两条不相同的路的交点的集合。请注意,每条直线和每个圆有两个交点。

对于任意两个不同的点 aPa\in PbPb\in P,定义 dis({a,b})\operatorname{dis}(\{a,b\}) 为从点 aa 走到点 bb 的最短距离。对于所有 {a,b}P\{a,b\} \subseteq P,计算 dis({a,b})\operatorname{dis}(\{a,b\}) 的和。

1 2
14.2831853072
2 3
175.4159265359

提示

$dis(p_1, p_2)=dis(p_2, p_3)=dis(p_3, p_4)=dis(p_1, p_4)=\frac{\pi}{2}$

$dis(p_1, p_5)=dis(p_2, p_5)=dis(p_3, p_5)=dis(p_4, p_5)=1$

dis(p1,p3)=dis(p2,p4)=2dis(p_1, p_3)=dis(p_2, p_4)=2