xdoj 1146 (逆向01背包)
2024-10-11 01:56:11
背包 有:01背包 逆向背包 多重背包 完全背包 所有的背包都可以根据更新的方向一维实现
amazing?!
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstring>
using namespace std;
const int N=5e4;
int dp[N+];
int n,W;
int main ()
{
while (~scanf ("%d %d",&n,&W)) {
memset (dp,0x3f,sizeof(dp));
dp[]=;
for (int i=;i<=n;i++) {
int cost,value;
scanf ("%d %d",&cost,&value);
for (int j=N;j>=value;j--)
dp[j]=min(dp[j],dp[j-value]+cost);
}
for (int i=N;i>=;i--)
if (dp[i]<=W) {
printf ("%d\n",i);
break;
}
}
return ;
}
最新文章
- Mac下没有权限启动tomcat的解决办法
- MongoDb 聚合报错
- POST内容太大的问题
- css杂记
- android136 360 拖拽
- Android游戏与应用开发最佳学习路线图
- java SWT/Rap 计算器版本2(键盘鼠标兼容)
- centos 安装 vsftp
- html系列教程--input label
- 用Visual Studio2017写静态库
- C++继承(07)
- 第三天 Java语言基础
- 关于Http协议,你必须要知道的
- sql server 性能调优之 资源等待内存瓶颈的三种等待类型
- Linux内核分析第五周总结
- cygwin下切换到其他磁盘
- Javascript面向对象编程(二):构造函数的继承 作者:yuan一峰
- php 实现php代码的加密解密
- Visual Studio断点调试, 无法监视变量, 提示无法计算表达式
- .NET Core2.1下采用EFCore比较原生IOC、AspectCore、AutoFac之间的性能