B-黑石部落

Time Limit: 1000 MS Memory Limit: 65536 KB
Total Submissions: 1196 Accepted: 303

Description

20分钟后,在乌瑟尔营地附近的黑石部落内,乌瑟尔派出了谈判的骑士,但活着回来的却只有骑士的马匹。由于兽人仍不愿意投降,乌瑟尔便将指挥权交给了阿尔萨斯,希望由他来组织对黑石兽人的进攻。
    阿尔萨斯需要训练自己的部队来对抗兽人。他可以训练的部队有K(K<10)种,第i种部队的一个单位需要消耗G[i]的黄金,而这个部队的战斗力是W[i]。现在阿尔萨斯有一座储量为N(N<15000)的金矿,那么他能训练出的最大战斗力是多少呢?

Input

输入包括多组数据,每组数据的第一行是两个正整数N,K。接下来有K行,每行两个正整数,分别是G[i]与W[i]。输入以文件结尾结束。

Output

每行一个数,表示该组数据下阿尔萨斯能训练出的最大战斗力。

Sample Input

10 2
6 12
4 9

Sample Output

21

Source

Gardon & Gondar

想了想就是普通的动态规划,从假设只有1黄金开始找最优解,一开始i只允许训练一个单位的时候可以看做0战斗力+训练单位的战斗力,此时可训练单位战斗力的最大值就是最大战斗力。保证开始是最优解后,之后的问题可以拆分成已知训练此单位之前的最大战斗力,判断训练此单位后是否还是最大战斗力,直到黄金达到N为止。

2018/05/09更新:

比如你有两组部队 黄金/战斗力是 4/4 和 4/5,当i=4的时候 dp[4]初始是0,j=0的时候 对应的是4/4,然后判断dp[4](目前4黄金能训练的最大战斗力)和dp[0](已知0黄金能训练的最大战斗力)+4(这个单位的战斗力)的大小,如果这个和大于dp[4]就代表找到了新的最大战斗力,然后j=1时对应4/5。dp[8]的时候 判断的就是dp[8-4](8减这个战斗力需要的黄金数,并且8之前的都是已知的最大战斗力)+这个单位的战斗力。

如果用递归的话,计算5黄金的战斗力,可以拆成1+4或者2+3。拆成1+4的时候 4又可以拆成1+3或者2+2,这样1算了两遍 2算了两遍,再拆2+3 又不知道算了多少遍,动态规划就是倒着来 先算1 2推出来3 4 5

AC代码:

#include<iostream>
#include<algorithm>
using namespace std;//代表部队,g表示训练一个单位需要消耗的黄金,w表示这个单位的战斗力
struct BD {int g,w;
};//用于将军队按消耗黄金从小到大排序
bool cmp(BD a, BD b) {return a.g<b.g;
}int main(void) {int n,k;while(cin>>n>>k) {BD bd[10];for(int i=0; i<k; i++) {cin>>bd[i].g>>bd[i].w;}//排序 sort(bd,bd+k,cmp);//初始化为0 int dp[15001]= {};for(int i=1; i<=n; i++) {for(int j=0;j<k;j++){//如果黄金足够训练这个单位 if(i-bd[j].g >= 0){//如果将i-bd[j].g黄金训练得到的最大战斗力//加上训练此单位的战斗力超过了之前计算的最大战斗力if(dp[i] < bd[j].w+dp[i-bd[j].g]){dp[i] = bd[j].w+dp[i-bd[j].g];}}}} sort(dp,dp+n+1);//输出最大值 cout<<dp[n]<<endl;}
}

合肥工业大学 OnlineJudge——1003 B-黑石部落相关推荐

  1. 合肥工业大学 OnlineJudge——1004 C-肆虐的瘟疫

    C-肆虐的瘟疫 Time Limit: 1000 MS Memory Limit: 65536 KB Total Submissions: 867 Accepted: 273 Description ...

  2. 合工大的计算机专业好不好,合肥工业大学计算机好,还是西电的好?差距有多大?...

    合肥工业大学计算机好,还是西电的好?差距有多大?这两个大学都是教育部直属的工科院校,但是性质完全不一样,到底谁更厉害,结论是西电的计算机要比合肥工业大学强.首先因为西电本身就是比哈工大厉害的大学,学科 ...

  3. 合工大建筑和计算机专业哪个好,合肥工业大学最好的专业是什么(10大热门专业排名)...

    高考填报志愿时,合肥工业大学最好的专业是什么.哪些专业比较好是广大考生和家长朋友们十分关心的问题,以下是如意了为大家精心整理的合肥工业大学最好的10大热门专业名单,供大家参考. 1.合肥工业大学最好的 ...

  4. java实验报告合肥工业大学_合肥工业大学 计算机专业 计算方法实验报告

    <合肥工业大学 计算机专业 计算方法实验报告>由会员分享,可在线阅读,更多相关<合肥工业大学 计算机专业 计算方法实验报告(33页珍藏版)>请在人人文库网上搜索. 1.合肥工业 ...

  5. 合肥工业大学网络程序设计实验报告_【院校推荐】2020合肥工业大学计算机考研备考指导及报考分析...

    一.学院简介 计算机与信息学院的前身是创建于1958年的无线电工程系,1996年由原计算机与信息系.计算中心和微机所组成学院,更名为计算机与信息学院.2018年成立人工智能学院,人工智能学院与计算机与 ...

  6. 合肥工业大学计算机与信息学院学生会宗旨,计算机与信息学院举办第一期“AIE计划”实验室招新宣讲会...

    2019年11月6日下午三点,计算机与信息学院在合肥工业大学翡翠湖校区科教楼A座1106举行举办第一期"AIE计划"实验室招新宣讲会--可视化与协同计算研究室(VCC研究室)招募本 ...

  7. 合肥工业大学计算机学院王院长,王青山(合肥工业大学教授)_百度百科

    王青山 (合肥工业大学教授) 语音 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! 王青山,中国汉族人,合肥工业大学教授,现任中国计算机学会.AC ...

  8. java实验报告合肥工业大学_合肥工业大学数据结构上机实验代码与实验报告(全)github地址...

    C++实现链队类--合肥工业大学数据结构实验5:链式队列 实验5 5.1 实验目的 熟练掌握队列的顺序链式存储结构. 熟练掌握队列的有关算法设计,并在链队列上实现. 根据具体给定的需求,合理设计并实现 ...

  9. 操作系统分区分配java算法_合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc...

    合肥工业大学操作系统课程设计 动态分区分配存储管理java版.doc 1课程设计动态分区分配存储管理设计题目学号专业班级学生姓名号指导教师22010年12月合肥工业大学课程设计任务书设计题目动态分区分 ...

  10. 作者:贵芳(1991-),女,合肥工业大学计算机与信息学院硕士生

    贵芳(1991-),女,合肥工业大学计算机与信息学院硕士生,主要研究方向为大数据应用.机器学习和程序语言等.

最新文章

  1. Litmus代码质量平台实践总结
  2. 将之前写完的猜数字游戏改为通过javabean_有了这些互动小游戏,知识竞赛更精彩了...
  3. mybatis对mapper.xml的解析(一)
  4. Tomcat - Tomcat 8.5.55 启动过程源码分析阶段二_load加载初始化
  5. 【Python】Numpy库之符号函数sign()的介绍及用法
  6. Silverlight:CreateFromXAMLDownloader
  7. 【兴趣书签】烧脑的科幻短篇小说
  8. 计算机常用工具软件实训总结报告,计算机常用工具软件实训报告精编版.doc
  9. Symbol Factory Universal v3.X 工业图形库
  10. 鸿蒙 微内核 什么意思,鸿蒙系统所说的「微内核」,具体是什么?
  11. 庖丁解牛式读《Attention is all your need》
  12. 博客推广及搜索引擎优化
  13. 中兴网络设备交换机路由器查看MAC地址表项命令方法
  14. Windows10中如何使用ADSL固定IP地址连接因特网
  15. 水很深的深度学习-卷积神经网络篇
  16. python制作课程表提醒_使用python生成ical日历文件——将课程表导入到手机日历...
  17. Eclipse无Tomcat 9.0(安装JST Server Adapters Extensions插件后仍不能添加Tomcat 9.0的一种解决办法)
  18. LiveVISGAT1400视图库服务-支持海康大华华为宇视天地伟业等设备视图库接入使用说明
  19. MATLAB GUI设计 图像处理基本操作(一)
  20. nyoj 236 心急的C小加(偏序集问题)

热门文章

  1. 晶圆切割机_单轴晶圆划片机特点:
  2. git 分支关系图谱讲解
  3. linux的input命令,Linux(Ubuntu)下如何修改鼠标速度——”xinput”命令使用方法
  4. 让你两分钟明白什么是ERP
  5. 触动精灵安卓手游内存教程(类人猿手游内存教程系列)
  6. 今晚与小妹亚美合作了一把qq游戏,大获全胜!
  7. 磁记录材料和计算机0101,信息磁性功能材料
  8. 如何将 Laravel 数据表里的数据导出成 Seeder 文件
  9. php for iis express,iis10.0完整安装包
  10. 爬虫Selenium+Chrome 控制浏览器,打开百度网页,输入搜索关键词,点击回车,截取搜索页面