一、题目
二、解法
把每个圆表示成线段覆盖,判断相不相交只需要比较大小,所以我们可以先离散化。
考虑使用区间 d p dp dp,但一定要想清楚区间指的是什么,一开始我把区间
理解成连续的若干个圆,发现根本做不动。而本题显然把区间理解成数轴上的区间更好做,定义 d p [ i ] [ j ] dp[i][j] dp[i][j]为区间 [ i , j ] [i,j] [i,j]最多的圆数量,转移:
d p [ i ] [ j ] = d p [ i ] [ x ] + d p [ x ] [ j ] + g [ i ] [ j ] dp[i][j]=dp[i][x]+dp[x][j]+g[i][j] dp[i][j]=dp[i][x]+dp[x][j]+g[i][j] g [ i ] [ j ] g[i][j]