SRM666
WalkOverATree: 找最长链作为不回头的路(×1),贪心走其他回头的路(×2)。
SumOverPermutations: DP,$f[i][j]$表示放了$i$个元素且当前有$j$个连续段。
CountBinarySequences: 把区间构出树来之后矩阵乘法DP。
TCO15 Round 2D
BalancedSubstrings: 暴力扫过去。
BallsInBoxes: 把长度为$N-K+1$的答案区间分成一段段长度为$K$的区间,把最后一段整区间与最后的多余部分合起来。在每段区间内二分即可。