要理解这个模板
最快的方法就是画图
#include<iostream>
using namespace std;
const int _max = 10001;
int c1[_max],c2[_max];
int main(){//价码上限
int nNum;int i,j,k;
while(cin>>nNum){
for( i=0;i<=nNum;i++){
c1[i]=1;
c2[i]=0;
}
//--------------------------------
for( i=2;i<=nNum;i++){
for(j=0;j<=nNum;j++){
for( k=0;k+j<=nNum;k+=i){
c2[j+k]=c1[j]+c2[j+k];
}
}
for( j=0;j<=nNum;j++){
c1[j]=c2[j];
c2[j]=0;
}
}
cout<<c1[nNum]<<endl;
}
return 0;
}
哪儿没看懂欢迎提问 ~~~
本文深入探讨了C++编程语言在解决复杂算法问题时的技巧与优化策略,通过实例展示了如何利用C++的强大特性提高代码效率。从数据结构选择到算法优化,再到内存管理的最佳实践,本篇将为您揭示C++编程的奥秘。
3万+

被折叠的 条评论
为什么被折叠?



