题目要求

P1887题目链接

分析

假设m为2,就是分为两组使之和最大,根据基本不等式,
已知x+y=k(k为常数),S=x*y,当x=y时,有S的最大值。

同样地,当一个数n被分为m份时,当每份数量相等,这m个数的乘积最大。
(不懂的反思反思自己基本不等式咋学的吧……)

所以,我们只需要使这m个数都相等就行了,所以有:q=n/m。

题目要求每个数都为整数,所以每个数要尽量的接近q。
另外,在Java/C中,整数间的n/m结果源于向下取整,所以这些数只有两种:

  • n/m
  • n/m +1

我们只需清楚n/m和n/m+1分别有多少就行了呗……

说明:字典序是从小到大!!!!!

所以先输出n/m+1,再输出n/m就完事!

AC代码(Java语言描述)

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int m = scanner.nextInt(), n = scanner.nextInt();int mod = m % n;int division = m / n;StringBuilder result = new StringBuilder();for (int i = mod; i < n; i++) {result.append(division).append(" ");}division++;for (int i = 0; i < mod; i++) {result.append(division).append(" ");}scanner.close();System.out.println(result.toString().trim());}
}

基本不等式解决乘积最大问题(洛谷P1887题题解,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. 用0和5凑被90整除的max数(洛谷P2192题题解,Java语言描述)

    题目要求 P2192题目链接 分析 盘一盘各种情况吧: 要被90整除,就必须被10整除,所以必须有0,没0就是-1啊. 要被90整除,一堆5,靠0是没用的,只能是9个5凑一堆儿才有用,有0但凑不够9个 ...

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

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

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

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

最新文章

  1. thinkpad触控笔怎么用_笔记本电脑卡死了怎么办关不了机
  2. 自定义spring kafka consumer 线程池
  3. 腾讯抗黑灰产——自监督发现行话黑词识别一词多义
  4. kafka原理_kafka入门(原理搭建简单使用)
  5. c语言环境窗口组成,如何搭建C语言环境
  6. Qt在指定区域内拖动窗口
  7. pde中微元分析法的主要思想_有限元方法的核心思想
  8. Oracle管理权限和角色
  9. 回调函数 EnumFontFamProc
  10. python爬虫:bs4搜索文档树
  11. 内蒙古农业大学微型计算机,内蒙古农业大学微机原理重点
  12. 网关串口+EM310
  13. PHP时间戳和日期转换
  14. Win11如何进行重置电脑初始化
  15. 人物志 | 美团无人机毛一年:建成空中机器人物流网络是技术人一生的梦想
  16. insert into 语句的四种写法
  17. React基础语法总结
  18. 教你解决M1芯片MAC安装PS2021卡在启动屏幕,完美解决PS21卡启动屏幕
  19. linux ghost系统安装教程,GHOST 使用方法图文详解 PDF
  20. 自学Java比较靠谱的学习Java的视频网站

热门文章

  1. windows10上安装mysql
  2. 一个带关闭按钮的Div窗口,很漂亮
  3. table 样式详解
  4. 设计模式 - 依赖倒置原则
  5. Inno Setup 打包安裝判斷是否安裝.net freamework 3.5 和 access2007的數據連接
  6. 我的梦幻动画实习工作总结
  7. python3 一些常用的数学函数
  8. c语言printf %llo,c++ - Printf疯狂了 - 堆栈内存溢出
  9. bootstrap中分页、面包屑导航、列表组、卡片、下拉菜单、折叠
  10. (三)springcloud服务提供者实现