摘要: 很明显的区间DP,设dp[l][r]表示[l,r]区间的字符串折叠后的最小长度。 可以通过两种方向转移,dp[l][r]=min(dp[l][i]+dp[i+1][r]). 另一种是折叠,dp[l][r]=min(dp[l][l+k-1]+cal((r-l+1)/k)+2).其中k是能整除(r-l+ 阅读全文
posted @ 2017-03-07 18:19 free-loop 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 首先,长度短的木板一定比长度长的木板容易得到,因此若要得到最多的木板,它们必定是所有木板中最短的——可以对木板排序后二分答案(用k表示)。 判断是否合法就用搜索,但数据有点大,要用到两个剪枝。一个是若有一根木材被切开后剩下的长度比最短的木板还短则将其累加入waste,当waste+前k块木板的长度和 阅读全文
posted @ 2017-03-07 15:27 free-loop 阅读(230) 评论(0) 推荐(0) 编辑