dp-背包

开始用普通dp写了一发发现没法确定最大时间。。。

后来看到大牛机智的写法,嗯。。。dp表示当前状态能否成立;然后从条件最好的状态开始遍历,直到这个状态成立然后退出遍历。

具体的看代码吧。。。

 #include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
using namespace std; int dp[][];
int d[]; int main (){
int T,kase=;
cin>>T;
while (T--){
int n,t;
cin>>n>>t;
for (int i=;i<n;i++){
cin>>d[i];
}
sort (d,d+n);
memset (dp,,sizeof dp);
dp[][]=;
for (int k=;k<n;k++){
for (int j=t;j>=d[k];j--){
for (int i=k+;i>;i--){
if (dp[i-][j-d[k]])
dp[i][j]=;
}
}
}
int ans=;
int time;
int flag=;
for (int i=n;i>=;i--){
for (int j=t-;j>=;j--){//cout<<j<<" ";
if (dp[i][j]){
ans=i;
time=j;
flag=;
break ;
}
}
if (flag)
break ;
}
cout<<"Case "<<++kase<<": "<<ans+<<" "<<time+<<endl;
}
return ;
}

最新文章

  1. 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程
  2. BizTalk开发系列(十) ESB Guidance安装笔记
  3. python日志模块
  4. 通过GPS数据反向地理信息编码, 得到当前位置信息
  5. js控制div是否显示
  6. socket编程---一个简单例子
  7. 在win7系统下使用TortoiseGit(乌龟git)简单操作Git@OSC
  8. aix运维
  9. MVC ValidationAttribute 服务器端自定义验证
  10. js动态添加file控件
  11. 前端系列——jquery前端国际化解决方案“填坑日记”
  12. TensorFlow之RNN:堆叠RNN、LSTM、GRU及双向LSTM
  13. win7(64bit)+python3.5+pyinstaller3.2安装和测试
  14. 103. Binary Tree Zigzag Level Order Traversal (Tree, Queue; BFS)
  15. make_heap()等函数的用法
  16. RAID5---块,条带,校验,旋转,同步/异
  17. 遍历FTP目录及下载
  18. MQTT - Connect报文解析
  19. Appium自动化测试框架
  20. .NET:负载平衡的主意事项

热门文章

  1. ubuntu 新建zend framework 项目
  2. py2exe 生成带图标的单个文件实例
  3. openssl 第一篇
  4. 1004 Anagrams by Stack
  5. MySQL用户管理语句001
  6. js序列化json对象
  7. 美国政府关于Google公司2013年度的财务报表红头文件
  8. ubuntu 12.04(Precise Pangolin)启用休眠(Hibernate)功能的方案
  9. Binary Tree Level Order Traversal II 解答
  10. ZOJ 2048(Prim 或者 Kruskal)