`

UVA Ingenuous Cubrency(11137)

 
阅读更多

题目大意:

       在10000以内的正整数中,有些数可以开3次方,给定一个正整数,可以由一些能够开3次方的数组成,求出共有几种组成方式。

 

解题思路:

       该题和硬币找零的题目相似,可以参考UVA Dollars(147)。先算出所有能够开3次方的数,这些数相当于可以用的硬币,后面的求法就和UVA Dollars(147)一样了。状态转移方程为:

dp[n] += dp[n-v[m]];

其中,dp[n] 表示组成 n 有几种方法,v[m] 存储所有能够开3次方的数。

 

代码:

 

#include <iostream>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std;

long long dp[10010];

int main()
{
	int paid, cube = 1, k = 1, len;
	vector<int> v;
        
        //先求出10000以内能够开3次方的数
	do
	{
		v.push_back(cube);
		k++;
		cube = k * k * k;
	}while( cube <= 10000 );

	len = v.size();

	while( cin>>paid )
	{
		memset( dp, 0, sizeof( dp ) );
		dp[0] = 1;
		for( int m = 0; m < len; m++ )
		{
			for( int n = v[m]; n <= paid; n++ )
			{
				dp[n] += dp[n-v[m]];  //如果 n-v[m] 能够由那些开3次方的数组成,那么 n 也能由开3次方的数组成,只要不断进行累加,就可以算出 n 能有几种组成方式。
			}
		}

		cout<<dp[paid]<<endl;
	}

	return 0;
}

 

分享到:
评论

相关推荐

    考研英语必备

    "ingenious"和"ingenuous"在形容人时,前者指机智或精巧,如"ingenious inventions",后者表示天真或坦诚,如"ingenuous children"。 "intense"和"intensive"都表示强烈或深度,"intense"常用来描述程度高或强烈的...

    趣味记单词-GRE等价6选2题型解题思路分析.docx

    例如,"candid" 和 "ingenuous","latent" 和 "dormant","inimical" 和 "hostile"。解决此类问题需要考生拥有扎实的词汇基础和清晰的解题思路,通常需要先对选项进行分类,然后基于题目内容进行判断。 **解题策略*...

    英语六级词汇

    - **ingenuous**:天真的,直率的 - **empirical**:经验主义的 - **objective**:客观的 - **indignant**:愤怒的 - **turbulent**:动荡的,混乱的 - **tragic**:悲剧的 - **vulnerable**:易受伤害的 - ...

    考研形近词归纳考研形近词归纳

    在描述人物性格时,**ingenious**(机灵的)和**ingenuous**(直率的)能够精确刻画人物特质。 ### 结论 综上所述,掌握形近词不仅能够帮助考生避免常见的语法错误,还能提升语言表达的准确性和丰富性。通过系统...

    部分重要的英语精练单词与搭配

    - ingenuous (天真的):纯真无邪,未经世故的。 - ingenious (独特的):有创新或巧妙的构思。 - practicable (行得通的):实际可行的。 - practical (实际的):注重实际应用的。 - seasonal (季节的):与特定季节...

Global site tag (gtag.js) - Google Analytics