题目要求

P2705题目链接

分析

这题本质上只有两种收益:

  • 红蓝互换,剩下的在自己的坑位里
  • 红蓝互不交换,各忙各的

我们就是要考虑这两种方案的收益。
考虑的时候不妨先求出比较简单的一种方案,再用另一种方案去换。

其实第二种方案更容易思考到,所以先求一下,即redNum * c + blueNum * d

然后可以尝试进行这样的交换:把一个红球扔进蓝盒,必须同时把一个蓝球扔进红盒;两球拿出时减少收益c+d,重新放入时增加收益2×e。

只有2×e>c+d才值得一换,否则就是血亏。
如果值得换,就能换多少换多少,争取获得最大利益,这交换的个数就是Math.min(redNum, blueNum)

所以一旦值得,追加收益是这么表示的:

if (2*e > c+d) {result += Math.min(redNum, blueNum) * (2*e-c-d);
}

然后就完事啦~~

AC代码(Java语言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int redNum = scanner.nextInt(), blueNum = scanner.nextInt(), c = scanner.nextInt(),d = scanner.nextInt(), e = scanner.nextInt();scanner.close();int result = redNum*c + blueNum*d;if (2*e > c+d) {result += Math.min(redNum, blueNum) * (2*e-c-d);}System.out.println(result);}
}

比较决策的收益(洛谷P2705题题解,Java语言描述)相关推荐

  1. 线性存储的最短平均检索时间(洛谷P1253题题解,Java语言描述)

    题目要求 P1253题目链接 分析 很像 ~洛谷P1223题题解~,也是一种类似SJF的贪心法. 排个序,由于两个不大于10000的数,乘起来还是int,就使用int属性吧. 数据量小,所以Scann ...

  2. 队列模拟约瑟夫问题(洛谷P1996题题解,Java语言描述)

    题目要求 P1996题目链接 分析 以前就研究过"约瑟夫环"问题: <单循环链表求解约瑟夫环问题(Java语言描述)> <杀人游戏~约瑟夫环(洛谷P1145题题解 ...

  3. 麦森数(洛谷P1045题题解,Java语言描述)

    题目要求 题目链接 分析 这题挺经典的,快速幂取模算法,如果求出大数再取模就可能T掉. 之前有篇文章写了这个算法:<快速幂算法详解&&快速幂取模算法详解> 既然是Java, ...

  4. 枚举求解单词方阵(洛谷P1101题题解,Java语言描述)

    题目要求 P1101题目链接 分析 可以用DFS做,但我立下了个Flag,所以就用了朴素的枚举来做.... 结果,我的天哪,做了好几个小时-- 其实这种地图题,真的适合 DFS or BFS or D ...

  5. 快速幂||取余运算【模板】(洛谷P1226题题解,Java语言描述)

    题目要求 P1226题目链接 分析 标准的快速幂取模算法板子,之前这个算法我在这篇文章中讲过了:<快速幂算法详解&&快速幂取模算法详解>. 这里选择使用比较简单的API实现 ...

  6. 求子集元素之和(洛谷P2415题题解,Java语言描述)

    题目要求 P2415题目链接 分析 这题我觉得--当个数学题做就好了嘛. 有一个数N的情况:result = 1 * N 有两个数N1.N2的情况:result = 2 * (N1+N2) 有三个数N ...

  7. 贪心策略摘果子(洛谷P1478题题解,Java语言描述)

    题目要求 P1478题目链接 分析 本题的低配版题目链接 → 题解 那个题就是纯水题没啥可写的,我除了贴代码无话可说,但这题吧,虽然不算难,但也可一说. 建议大家移步这里 → 精辟题解 这位爷写了本题 ...

  8. N进制正反累加判回文数(洛谷P1015题题解,Java语言描述)

    题目要求 P1015题目链接 分析 开始的时候写了这么一个代码,应该是比较基础的,是十进制的. private static void low() {Scanner scanner = new Sca ...

  9. 试试把OJ题意抽象成物理模型(洛谷P1007题题解,Java语言描述)

    题目要求 P1007题目链接 分析 这题干出的,真有毒... 要是有这种指挥官,也是醉了... 言归正传,这题其实是可以贪心求解的,但我们还可以更加666... 事实上,题干上面那一大篇基本在扯,关键 ...

最新文章

  1. Java中的某些接口为什么没有任何方法?
  2. C/C++基础知识点(一)
  3. python实现点到平面的距离
  4. 1110 Complete Binary Tree(甲级)
  5. 【C++】递归打印杨辉三角
  6. WINDOWS访问虚拟机RedHat搭配的Apache2服务器
  7. Centos7搭建虚拟用户FTP
  8. ffmpeg中的时间单位
  9. Linux 常用操作命令大全(最后更新时间:2022年1月)
  10. WEB攻防-ASP安全
  11. Android开发之渐变效果gradient属性
  12. Consul 踩坑日记,节点id冲突
  13. 蓝牙耳机什么样式最舒服?推荐一款好用的蓝牙耳机
  14. 移动文件夹ubuntu
  15. 140版本 boost_怎么分辨阿迪UB3.0和UB4.0,boost各版本有什么区别?
  16. c语言叶子,一片很好看的叶子
  17. 搭建基于github的个人网站
  18. 求一个数的因数和或者是求因数
  19. JS遍历数组和对象的方法
  20. Vue.js的章节记录笔记(详细)

热门文章

  1. INNODB表快速迁移
  2. vue中使用导出表格功能
  3. jvm 加载class文件过程
  4. asp.net datatable 导出为 txt
  5. 《你必须知道的.NET》,评价和推荐
  6. 蓝桥杯第八届省赛JAVA真题----方格分割
  7. FileInputStreamTest
  8. Postgre合并多行数据为一行
  9. 为什么tomcat在eclipse中启动了,访问不了
  10. java swarm集群_52个Java程序员不可或缺的 Docker 工具