zoukankan      html  css  js  c++  java
  • 数学结论题 书堆

    Description
      蚂蚁是勤劳的动物,他们喜欢挑战极限。现在他们迎来了一个难题!蚂蚁居住在图书馆里,图书馆里有大量的书籍。书是形状大小质量都一样的矩形。蚂蚁要把这些书摆在水平桌子的边缘。蚂蚁喜欢整洁的布置,所以蚂蚁规定书本必须水平摆放,宽必须平行于桌缘(如图),而且不允许同一高度摆多本书
      
      蚂蚁想要让书本伸出桌子边缘尽量远,同时不让书因为重力垮下来。它们已经用不知道什么方法测出了书的长度M(如图)。如果总共有N本书,请你帮忙计算如何摆放使得最多水平伸出桌缘多远。你不用考虑蚂蚁用什么方法搭建这堆书。
      如果某本书以上的所有书的重心的竖直射影不在这本书上,或者正好落在在这本书的边界上,那么这堆书是不稳定的,会因为重力而垮下来。
      ()不考虑地球自转,重力系数也不因高度改变;
      (
    )书是质量均匀,质地坚硬的理想二维物体;
      (*)在不会垮的前提下,每本书的位置坐标可以是任意实数。

    Input
      输入文件仅含一行,两个正整数N和M,表示书本数和书本长度。

    Output
      输出仅包含一行,整数L,表示水平延伸最远的整数距离 (不大于答案的最大整数,详见样例)

    Sample Input
    【输入样例一】
    1 100

    【输出样例一】
    49

    【输入样例二】
    2 100

    【输出样例二】
    74

    Sample Output

    Data Constraint

    Hint
    【数据范围】
      10%的数据中N≤5;
      20%的数据中N≤10^3;
      40%的数据中N≤10^7;
      100%的数据中N≤1018;答案≤106。

    神仙结论题,知道结论就满分。。。
    (全世界貌似只有我不知道这个结论。。
    其实就是算重心的X坐标,我们设第i本书的重心x坐标为gi
    易知:
    (g2+g3+…+gn)/(n-1)+g1=0
    (g2+g3+…+gn)/(n-1)-g1=M
    化来化去可以化为
    gn=M/2sigma(i=2…n)1/i
    加上一般的宽度
    gn=M/2
    sigma(i=1…n)1/i

    然后就只会O(n)了。。。
    我只记得这玩意儿叫中华级数?

    下来看这玩意儿叫调和级数。。。
    并引入了一个叫欧拉常数的玩意儿,为调和级数减ln n中n趋于无穷的值
    可以去看一看百度百科

    所以,当n大于1e7时,可以直接输出ln n加欧拉常数的值下取整。。。
    下来问过了的同学。。
    “这不是常识吗?”
    我自闭了。。。
    是我知识面太狭窄了,我去死一死。。。

  • 相关阅读:
    《JavaScript 闯关记》之初探
    《JavaScript 闯关记》之简介
    《JavaScript 闯关记》
    JavaScript检测之basevalidate.js
    如何排版 微信公众号「代码块」
    android开发之路03
    android开发之路02(浅谈BroadcastReceiver)
    android开发之路01
    软件工程复习(一)
    软件工程—人件(一)
  • 原文地址:https://www.cnblogs.com/Darknesses/p/12002536.html
Copyright © 2011-2022 走看看