acm学习总结7

acm学习总结(七)
这次还关于dp的总结,其实这个星期dp基本莓什么进展,我把自己的写的比较简单的dp题先总结总结放到我的学习总结里面;
首先我先说说我的学习心得:其实我还没有真正体验过真正有难度的dp的题其实我觉得dp跟原来的那个递归差不多,就是跟f(x)=f(x-1)+f(x-2)这种类型,其实也就跟数学上的数列有类似相关;
下面我总结我写的代码;
这是那道导弹的题
#include
#include
using namespace std;
const int inf=10000;
int main()
{

int b;
int c;
int n;
int y[inf];
int a[inf];
while(cin>>n)

{ int m=0; int j,i;
for(int l=0;l<n;l++)
{
cin>>a[l];
y[l]=0;
}
c=n;
while(c!=0)
{
m++;
for(i=0;i<n;i++)
{
if(a[i]>0)
{
b=a[i];
a[i]=0;
cout<<b<<’ ‘;
break;
}
}
for(int j=i+1;j<n;j++)
{
if(b>a[j]&&y[j]==0)
{
b=a[j];
a[j]=0;
}
}
for(int k=0;k<n;k++)
{
if(a[k]==0&&y[k]==0)
{
c–;
y[k]=1;
}
//cout<<y[k]<<’ ';
}
}
cout<<m<<endl;
}
}
这道题是自己完全自己做的题。我一开始想用vector做的后来发现超时,于是改用了方法。
这是可以是说dp的最基本的一道题目了,其实做出每一道题无论是难易,自己的内心都是很满足的;我的总结也就这么多了;

猜你喜欢

转载自blog.csdn.net/ProgreamA/article/details/88920142
今日推荐