Circular Coloring 将n个0,m个1进行圆周排列,定义一个排列的权值为圆上所有相邻且相同的数字组成一段的段长的乘积,询问断环成链所有方案的权值之和,\(n,m\leq 5000\). 解 因为问题与区间划分有关,直接计数不好做,对序列上考虑,不妨设\(f[i][j]\)为前i个元素(相同的)划分j段的权值和,显然有 \[f[i][j]=\sum_{k=0}^{i-1}f[k][j-1](i-k)\] 这个方程是\(O(n^3)\),于是考虑优化,两种方法 法一: \[f[i][j…