zoukankan      html  css  js  c++  java
  • BZOJ 2048 题解

    2048: [2009国家集训队]书堆

    Time Limit: 10 Sec  Memory Limit: 259 MB
    Submit: 1076  Solved: 499
    [Submit][Status][Discuss]

    Description

    Input

    第一行正整数 N M

    Output

    一行(有换行符),L,表示水平延伸最远的整数距离 (不大于答案的最大整数)

    Sample Input

    样例
    #1
    Input: 1 100
    Output: 49

    #2
    Input: 2 100
    Output: 74

    Sample Output

    N <= 10^18
    数据保证答案 < 10^6
     
    ————————————————————————————
     
     物理题:
    从最上一本书考虑,当重心落在下一本书的边缘,由于力矩平衡,恰好不落下。
    两本书整体根据力矩平衡,重心左移m/4距离。
    两本书整体根据力矩平衡,重心左移m/6距离。
     
    两本书整体质心根据力矩平衡,重心左移m/8距离。
    于是现在题目求( m/2 + m/4 + m/6 + m/8 + ... + m/n ) ,不难发现,这道题与调和级数有关。
     
     
     根据上述公式,代码如下:
    /**************************************************************
        Problem: 2048
        User: shadowland
        Language: C++
        Result: Accepted
        Time:0 ms
        Memory:1300 kb
    ****************************************************************/
     
    #include "bits/stdc++.h"
     
    using namespace std ;
    typedef long long QAQ ;
    typedef double db ;
    const db Euler_const = 0.5772156649015328606065120900824024310421593359 ; 
    const db eps = 1e-10 ;
     
    int main ( ) {
            db tmp = 0.0000 , N , M ;
            cin >> N >> M ; 
            if ( N <= 1e4 ) for ( int i=1 ; i<=N ; ++i ) tmp += ( 1.000 / ( db ) i ) ;
            else tmp = log ( N + 1.000 ) + Euler_const ; 
            tmp *= ( M * 0.500 ) ;
            cout << ( QAQ ) ceil ( tmp - 1 ) << endl ;
            return 0 ;  
    } 
    View Code

    2016-10-29 00:56:53

     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    如何运行vue项目
    java string型时间转long
    龙果学院dubbo
    百度网盘
    百度网盘资源搜索
    charles安装
    charles抓包
    lr报告分析
    一些缩写意思
    带有事务的进入首页、登录、登出脚本
  • 原文地址:https://www.cnblogs.com/shadowland/p/6009800.html
Copyright © 2011-2022 走看看