这题刚开始我就贪心,直接wrong了,贪心适合可以取一个物体部分的题。
还是老实枚举吧,注意枚举要分类,不然可能会超时,还有注意答案是long long
AC代码:

#include<cstdio> //贪心会错
#include<algorithm>
using namespace std;
const int maxn=100500;  //枚举的最大上限
int gcd(int a,int b) {return b==0?a:gcd(b,a%b);
}
int main() {int T;scanf("%d",&T);int n,s1,v1,s2,v2;int kase=0;while(T--) {scanf("%d%d%d%d%d",&n,&s1,&v1,&s2,&v2);long long ans=-100;//先判断n/s1和n/s2是否够大,不至于超时int cnt1=n/s1,cnt2=n/s2;int cnt=min(cnt1,cnt2);if(cnt<maxn) {  //符合条件if(cnt==cnt1) {for(long long i=0;i<=cnt;++i) {long long tmp=0;tmp+=i*v1;tmp+=(n-i*s1)/s2*v2;ans=max(ans,tmp);}}else if(cnt==cnt2) {for(long long i=0;i<=cnt;++i) {long long tmp=0;tmp+=i*v2;tmp+=(n-i*s2)/s1*v1;ans=max(ans,tmp);}}}else {int d=s1*s2/gcd(s1,s2);cnt1=d/s1,cnt2=d/s2;if(cnt1*v1>cnt2*v2) {for(long long i=0;i<cnt2;++i) {long long tmp=0;tmp+=i*v2;tmp+=(n-i*s2)/s1*v1;ans=max(ans,tmp);}}else {for(long long i=0;i<cnt1;++i) {long long tmp=0;tmp+=i*v1;tmp+=(n-i*s1)/s2*v2;ans=max(ans,tmp);}}}printf("Case #%d: %lld\n",++kase,ans);}return 0;
}

如有不当之处出欢迎指出!

uva12325 暴力枚举相关推荐

  1. POJ 3174 暴力枚举

    思路: 暴力枚举三个点 判一判 搞定 (x1*y1=x2*y2) x1.y1.x2.y2为他们两两的差 //By SiriusRen #include <cstdio> using nam ...

  2. codeforces数学1600day6[CodeForces - 1029C多区间交+枚举,CodeForces 992C[数学公式推导],CodeForces 992B[质因数分解+暴力枚举]]

    A - Maximal Intersection CodeForces - 1029C 题目大意:就是给你n个区间,这n个区间有公共的区间长度为x,现在叫你从这n个区间中删掉一个使得x最大化. 解题思 ...

  3. 最大字段和 冲出暴力枚举

    这篇解题报告是对我最近一些题的总结,里面的代码都是我解题,优化,再优化的过程的记录,记录了自己对算法的完善与优化思路,还有对编程哲学的理解:do it,do it well. 很感谢孙老师您,让自己可 ...

  4. hdu 4587 TWO NODES 暴力枚举+tarjan

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4587 题意是拿掉两个点 求最多可以把整个图分成几个联通块 注意到有一个模板是可以通过找割点来快速求出 ...

  5. 一道暴力枚举题Win32版本示例

    来看一个问题:该问题的解法是 暴力枚举:这大概是ACM方面的:名称叫火柴棒等式: 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数( ...

  6. C. Divisibility by Eight【暴力枚举】

    暴力枚举即可.枚举1位这种情况,枚举2位这种情况,枚举3位这种情况. 3位满足足以,其他的4位,5位...都包含1000必定满足. #include<bits/stdc++.h> usin ...

  7. YBTOJ:灯光控制(贪心)(公倍数)(暴力枚举)

    文章目录 题目描述 解析 代码 题目描述 解析 没有想出来 首先可以确定开关要么开一次,要么不动,其他都和这俩是等价的 一开始最先想到的就是贪心的方法,每个开关遍历,如果按下会使答案变好就按下. 但是 ...

  8. array专题2---理解暴力枚举与动态规划

    746 Min Cost Climbing Stairs 一直以后对暴力枚举(又称:深度优先搜索)和动态规划不太理解,不能明白个中区别,更别说贪心.今天做这道题目的时候有点心得. 思路一:看到题目,直 ...

  9. 【POJ - 2965】The Pilots Brothers' refrigerator(暴力枚举,思维)

    题干: The game "The Pilots Brothers: following the stripy elephant" has a quest where a play ...

最新文章

  1. 【WPF】用CustomControl打造WPF版的Marquee
  2. 虚拟机实现二层交换机_局域网SDN技术硬核内幕 5 虚拟化网络的实现
  3. 【Deep Learning笔记】Optic Disc 数据集
  4. JavaScript Repeater 模板控件
  5. legend3---laravel中获取控制器名称和方法名称
  6. SecureCRT的快捷键
  7. 组会PPT20201120《不同初始电子密度下ne和Te演化》
  8. Oracle12c:安装后新建用户及其默认表空间,并创建表测试
  9. 2016我的程序员总结
  10. [react] 你最喜欢React的哪一个特性(说一个就好)
  11. Python 两个list获取交集,并集,差集的方法(合并、交叉)
  12. javascrip中setTimeout和setInterval
  13. 将不确定变为确定~一切归总为“二”(C#中的位运算有啥用)
  14. 学python心得体会800字-Python初学心得体会
  15. tp5 mysql异常捕获_tp5 ThinkPhp5 自定义异常处理类
  16. 【代码笔记】Web--使用Chrome来查看网页源代码
  17. LDC(logic data center)与传统的(Internet Data Center-IDC)架构对比与优势(淘宝双十一经典案例解析)
  18. 二十一世纪大学英语读写基础教程学习笔记(原文)——3 - Mothers(母亲)
  19. 佳能R5专业微单相机介绍
  20. vant picker confirm事件

热门文章

  1. 使用cobra创建cli命令行工具
  2. 数据采集爬虫ip代理基本原理
  3. 帽子,头巾游戏解析(微软百度笔试智力题)
  4. telnet不是内部或外部命令,也不是可运行的程序
  5. ESP8266-Arduino网络编程实例-WiFi连接丢失解决方法
  6. NOIP 考后欢乐赛 T2 中国象棋
  7. LyX使用小记之三 公式编辑
  8. 出现数据库不给访问的情况
  9. Unity打包apk报错: Cannot fit requested classes in a single dex file (# methods: 73376 > 65536)的解决办法
  10. RabbitMQ的消费者处理消息失败后之重试3次,重试3次仍然失败发送到死信队列。