首页 > 其他 > 详细

DP+

时间:2017-10-29 18:30:53      阅读:323      评论:0      收藏:0      [点我收藏+]

DP+

技术分享

P1258

想过这种思路但是觉得不可行所以只要有想法就要积极去实现!

状转

输入f[1-10]

f[i]=min{f[j]+f[i-j]}    i:[2,n)    j:[1,i);

#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

using namespace std;

int n,a[11],f[110];

void init()

{

memset(f,10...

P1258

想过这种思路但是觉得不可行所以只要有想法就要积极去实现!

状转

输入f[1-10]

f[i]=min{f[j]+f[i-j]}    i:[2,n)    j:[1,i);

#include<iostream>

#include<cstdio>

#include<cstring>

#include<algorithm>

using namespace std;

int n,a[11],f[110];

void init()

{

memset(f,10,sizeof(f));

for(int i=1;i<=10;i++)

{

cin>>a[i];

f[i]=a[i];

}

cin>>n;

}

void work()

{

for(int i=2;i<=n;i++)

for(int j=1;j<i;j++)

if(f[j]+f[i-j]<f[i])

f[i]=f[j]+f[i-j];

cout<<f[n]<<endl;

}

int main()

{

init();

work();

return 0;

}

 

DP+

原文:http://www.cnblogs.com/Murs/p/7750486.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!