[01背包]NOIP 2005 PJ T3 采药 + 01背包的空间优化
来源:互联网 发布:游族网络林奇2017 编辑:程序博客网 时间:2024/05/19 10:12
原题:https://www.vijos.org/p/1104
时间:2014.3.22
类型:01背包
源码:
#include<cstdio>#include<iostream>#include<cstring>using namespace std;int a[101],c[101],f[101][10001];int max(int x,int y){if(x>y) { return x; }else { return y; }}int main(){int t,m;scanf("%d %d",&t,&m);for(int i=1;i<=m;i++) { scanf("%d %d",&a[i],&c[i]); }for(int i=1;i<=m;i++){for(int j=t;j>=1;j--){if(a[i]<=j){f[i][j]=max(f[i-1][j],f[i-1][j-a[i]]+c[i]);}else { f[i][j]=f[i-1][j]; }}}printf("%d",f[m][t]);system("pause");return 0;}
最后状态:AC
优化:
当我们算到f[i][j]的时候,f[i-2][...]已经没用了,那么怎么节省呢?
for(int i=1;i<=m;i++){for(int j=t;j>=a[i];j--){f[j]=max(f[j],f[j-a[i]]+c[i]);}}
这样优化即可,f[i]表示容积为i时的最大价值,注意j>=a[i],不然j-a[i]会<0,就错了
0 0
- [01背包]NOIP 2005 PJ T3 采药 + 01背包的空间优化
- 01背包的空间优化
- 采药 01背包
- 01背包????采药
- 【01背包】采药
- 采药问题 01背包
- 【01背包】采药
- 采药(01背包)
- 采药(01背包)
- OpenJudge_P1775 采药(01背包)
- 01背包 采药2
- 1775:采药 01背包
- 01背包空间优化
- [NOIP 2005PJ]采药 随机化贪心
- 简单的01背包问题(采药)
- SDNU1033.采药【简单的01背包】
- [01背包]vijos1104 采药(01背包模板
- 关于01背包空间优化的理解
- Jedis连接池的使用
- 文字计数器
- 天才的八种学习和思维方法
- IList,ICollection,IEnumerable,IEnumerator,IQueryable详解
- 短文本/Query分类算法特征选择
- [01背包]NOIP 2005 PJ T3 采药 + 01背包的空间优化
- Cannot create JDBC driver of class 'oracle.jdbc.driver.OracleDriver' for connect URL ****
- 21种提高思维能力的方法
- Filter IP拦截
- 没变强是因为你太舒服(图)
- 黑马程序员_OC基础07_论坛基础测试小结1
- org.apache.tomcat.dbcp.dbcp.SQLNestedException
- error while loading shared libraries: xxx.so.x"错误的原因和解决办法
- C#学习之图片查看器