凸多边形的划分 题解
给定一个具有 \(N(N \leq 50)\) 个顶点(从 \(1\) 到 \(N\) 编号)的凸多边形,每个顶点的权均是一个正整教,
问:如何把这个凸多边形划分成 \(N - 2\) 个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小?
设 \(f(i,j)\) 表示 \(i \sim j\) 这一段连续顶点的多边形划分后最小乘积
枚举 \(k\),\(i,j\) 和 \(k\) 相连成基本三角形,并把原多边形划分成两个子多边形
\(f(i,j) = \min(f(i,k) + f(k,j) + a[i] * a[j] * a[k])\)
\(1 \leq i < k < j \leq n\)

浙公网安备 33010602011771号