摘要:
思路: 区间dp,定义的 l 是区间的长度。for(k)的循环时防止(()的类似情况 代码: #include<iostream> #include<stdio.h> #include<string.h> using namespace std; const int maxn = 101; int 阅读全文
摘要:
石子合并(每次合并相邻的两堆石子,代价为这两堆石子的重量和,把一排石子合并为一堆,求最小代价) 是一个经典的问题。dp可以做到O(n*n)的时间复杂度,方法是: 设f[i,j]为合并从i到j的石子所用最小代价。 f[i,j]=min(sum(i,j)+f[i,k]+f[k+1,j])对所有i<=k< 阅读全文