nyoj 聪明的小明--49
2016-04-28 15:53
253 查看
#include<stdio.h>//转为01背包问题 n相当于体积m相当于数量,重要度相当于价值 #include<string.h> int max(int a,int b){ if(a>b) return a; else return b; } struct node{ int v,p; }s[25]; int dp[30000]; int main(){ int N; scanf("%d",&N); while(N--){ memset(dp,0,sizeof(dp)); int n,m,i,j; scanf("%d %d",&n,&m); for(i=1;i<=m;i++){ scanf("%d %d",&s[i].v,&s[i].p); for(j=n;j>=s[i].v;j--){ dp[j]=max(dp[j],dp[j-s[i].v]+s[i].p*s[i].v); } } printf("%d\n",dp ); } return 0; }
相关文章推荐
- java 集合----Map、Collection
- Android恢复出厂设置流程分析【Android源码解析十】
- Objective-C中的封装、继承、多态、分类
- 深入理解Java之线程池(上)
- 使用OpenCV训练Cascasde分类器
- Wireshark图解教程
- iOS开发网络篇—监测网络状态
- 《大型网站技术核心原理与案例分析》读书笔记
- 雅思学习笔记
- android万能适配器之SuperAdapter
- 剑指offer(46):左转字符串
- 最受欢迎的5个Android ORM框架
- 利用AJAX实现无刷新数据分页
- iOS AFNetworking.gitHub的注解
- GCD 深入理解(一)
- WPF进阶之接口:INotifyPropertyChanged,ICommand
- 解决浏览器窗口缩小出现白色背景的bug
- docker入门时碰到的代理设置问题
- 常见Sort排序算法总结,人生第一帖
- 欢迎使用CSDN-markdown编辑器