zoukankan      html  css  js  c++  java
  • [NOI2004]小H的小屋 贪心

    神仙贪心,洛谷没有插图导致我题一开始都没看懂。容易发现,块越多越优秀,然后为了满足题意,所以假如不能整除,就分为两个部分(能整除就直接均分就行了)。前一部分是n/m,后一部分是n/m+1。数量也是固定的,然后就枚举前后所占用的长度就行了。据证明可知这个函数是单峰函数,所以可以下降就break。

    题干:

    小 H 发誓要做 212121 世纪最伟大的数学家。他认为,做数学家与做歌星一样,第一步要作好包装,不然本事再大也推不出去。为此他决定先在自己的住所上下功夫,让人一看就知道里面住着一个“未来的大数学家”。
    
    为了描述方便,我们以向东为 xxx 轴正方向,向北为 yyy 轴正方向,建立平面直角坐标系。小 H 的小屋东西长为 100100100 Hil(Hil 是小 H 自己使用的长度单位,至于怎样折合成“m”,谁也不知道)。东墙和西墙均平行于 yyy 轴,北墙和南墙分别是斜率为 k1k_1k1​ 和 k2k_2k2​ 的直线,k1k_1k1​ 和 k2k_2k2​ 为正实数。北墙和南墙的墙角处有很多块草坪,每块草坪都是一个矩形,矩形的每条边都平行于坐标轴。相邻两块草坪的接触点恰好在墙上,接触点的横坐标被称为它所在墙的“分点”,这些分点必须是 111999999 的整数。
    
    小 H 认为,对称与不对称性的结合才能充分体现“数学美”。因此,在北墙角要有 mmm 块草坪,在南墙角要有 nnn 块草坪,并约定 m≤nm leq nm≤n。如果记北墙和南墙的分点集合分别为 X1X_1X1​,X2X_2X2​,则应满足 X1⊆X2X_1 subseteq X_2X1​⊆X2​,即北墙的任何一个分点一定是南墙的分点。
    
    由于小 H 目前还没有丰厚的收入,他必须把草坪的造价降到最低,即草坪 的占地总面积最小。你能编程帮他解决这个难题吗?
    输入输出格式
    输入格式:
    
    仅一行,包含 444 个数 k1k_1k1​,k2k_2k2​,mmm,nnn。k1k_1k1​ 和 k2k_2k2​ 为正实数,分别表示北墙和南墙的斜率,精确到小数点后第一位。mmm 和 nnn 为正整数,分别表示北墙角和南墙角的草坪的块数。
    
    输出格式:
    
    一个实数,表示草坪的最小占地总面积。精确到小数点后第一位。

    代码:

    小 H 发誓要做 212121 世纪最伟大的数学家。他认为,做数学家与做歌星一样,第一步要作好包装,不然本事再大也推不出去。为此他决定先在自己的住所上下功夫,让人一看就知道里面住着一个“未来的大数学家”。
    
    为了描述方便,我们以向东为 xxx 轴正方向,向北为 yyy 轴正方向,建立平面直角坐标系。小 H 的小屋东西长为 100100100 Hil(Hil 是小 H 自己使用的长度单位,至于怎样折合成“m”,谁也不知道)。东墙和西墙均平行于 yyy 轴,北墙和南墙分别是斜率为 k1k_1k1​ 和 k2k_2k2​ 的直线,k1k_1k1​ 和 k2k_2k2​ 为正实数。北墙和南墙的墙角处有很多块草坪,每块草坪都是一个矩形,矩形的每条边都平行于坐标轴。相邻两块草坪的接触点恰好在墙上,接触点的横坐标被称为它所在墙的“分点”,这些分点必须是 111999999 的整数。
    
    小 H 认为,对称与不对称性的结合才能充分体现“数学美”。因此,在北墙角要有 mmm 块草坪,在南墙角要有 nnn 块草坪,并约定 m≤nm leq nm≤n。如果记北墙和南墙的分点集合分别为 X1X_1X1​,X2X_2X2​,则应满足 X1⊆X2X_1 subseteq X_2X1​⊆X2​,即北墙的任何一个分点一定是南墙的分点。
    
    由于小 H 目前还没有丰厚的收入,他必须把草坪的造价降到最低,即草坪 的占地总面积最小。你能编程帮他解决这个难题吗?
    输入输出格式
    输入格式:
    
    仅一行,包含 444 个数 k1k_1k1​,k2k_2k2​,mmm,nnn。k1k_1k1​ 和 k2k_2k2​ 为正实数,分别表示北墙和南墙的斜率,精确到小数点后第一位。mmm 和 nnn 为正整数,分别表示北墙角和南墙角的草坪的块数。
    
    输出格式:
    
    一个实数,表示草坪的最小占地总面积。精确到小数点后第一位。
  • 相关阅读:
    day10 基本数据类型(下)
    day09 作业
    day09 基本数据类型(中)
    day08 作业
    day8 for循环+基本数据类型(上)
    Python正课109 —— 前端 进阶8
    Python正课108 —— 前端 进阶7
    Python正课107 —— 前端 进阶6
    Python正课106 —— 前端 进阶 5
    Python正课105 —— 前端 进阶4
  • 原文地址:https://www.cnblogs.com/DukeLv/p/10453677.html
Copyright © 2011-2022 走看看