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加欧拉常数的值下取整。。。
    下来问过了的同学。。
    “这不是常识吗?”
    我自闭了。。。
    是我知识面太狭窄了,我去死一死。。。

  • 相关阅读:
    matplotlib 进阶之origin and extent in imshow
    Momentum and NAG
    matplotlib 进阶之Tight Layout guide
    matplotlib 进阶之Constrained Layout Guide
    matplotlib 进阶之Customizing Figure Layouts Using GridSpec and Other Functions
    matplotlb 进阶之Styling with cycler
    matplotlib 进阶之Legend guide
    Django Admin Cookbook-10如何启用对计算字段的过滤
    Django Admin Cookbook-9如何启用对计算字段的排序
    Django Admin Cookbook-8如何在Django admin中优化查询
  • 原文地址:https://www.cnblogs.com/Darknesses/p/12002536.html
Copyright © 2011-2022 走看看