摘要: http://poj.org/problem?id=2229题意:给一个正整数N,用2的i次幂的加和表示,有多少方法。题解:原始DP的思想,Nlog(N)的复杂度,不预处理的话会TLE…… 还有一种思想是如果这个数是奇数,那组成它的第一个数一定是1,则dp[i]=dp[i-1];如果这个数是个偶数,若第一个数为1,则dp[i]=dp[i-1],否则都为2的(大于0的)倍数,推出dp[n]=dp[n-1]+dp[n/2]。O(N)的复杂度。 1 // 2 // main.cpp 3 // POJ 2229(DP) 4 // 5 // Created by zhang on 14-... 阅读全文
posted @ 2014-04-01 19:38 Der_Z 阅读(216) 评论(0) 推荐(0) 编辑