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- ; int main ( ) {
db tmp = 0.0000 , N , M ;
cin >> N >> M ;
if ( N <= 1e4 ) for ( int i= ; i<=N ; ++i ) tmp += ( 1.000 / ( db ) i ) ;
else tmp = log ( N + 1.000 ) + Euler_const ;
tmp *= ( M * 0.500 ) ;
cout << ( QAQ ) ceil ( tmp - ) << endl ;
return ;
}

2016-10-29 00:56:53

 
 
 
 
 
 
 
 
 
 
 
 

BZOJ 2048 题解的更多相关文章

  1. [BZOJ 2048] [2009国家集训队]书堆 【调和级数】

    题目链接:BZOJ - 2048 题目分析 只有一本书时,这本书的重心落在桌子边缘上,伸出桌面的长度就是 1/2. 有两本书时,第一本书的重心就落在第二本书的边缘上,两本书的重心落在桌子边缘上,两本书 ...

  2. BZOJ 3732 题解

    3732: Network Description 给你N个点的无向图 (1 <= N <= 15,000),记为:1…N. 图中有M条边 (1 <= M <= 30,000) ...

  3. bzoj 2669 题解(状压dp+搜索+容斥原理)

    这题太难了...看了30篇题解才整明白到底咋回事... 核心思想:状压dp+搜索+容斥 首先我们分析一下,对于一个4*7的棋盘,低点的个数至多只有8个(可以数一数) 这样的话,我们可以进行一个状压,把 ...

  4. bzoj一句话题解

    发现好多人都在搞这个...本人也想来试试(Solved刚到70就搞这个靠不靠谱啊喂).会更新的.嗯. 1000-1029 1000 A+B problem (这个还需要一句话吗?). 1001 狼抓兔 ...

  5. BZOJ 一句话题解

    菜鸡刷题记录 [题号:题解] 1008:简单排列组合 #include <bits/stdc++.h> using namespace std; #define ll long long ...

  6. BZOJ 4868-4873 题解

    BZOJ4868 每个结束位置的最优值很显然具有单调性,三分,再讨论一下就好了. #include<bits/stdc++.h> using namespace std; #define ...

  7. Meet in the middle算法总结 (附模板及SPOJ ABCDEF、BZOJ4800、POJ 1186、BZOJ 2679 题解)

    目录 Meet in the Middle 总结 1.算法模型 1.1 Meet in the Middle算法的适用范围 1.2Meet in the Middle的基本思想 1.3Meet in ...

  8. 洛谷3067 BZOJ 2679题解(折半搜索)

    传送门 BZOJ传送门(权限题) 看到n小于20,就可以想到搜索 所有的数要么在集合a中,要么在集合b中,要么都不在 可是3^n复杂度会炸,我们考虑优化 可以利用折半搜索,将前面一半的所有可能情况与后 ...

  9. BZOJ 1034 题解

    1034: [ZJOI2008]泡泡堂BNB Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2613  Solved: 1334[Submit][St ...

随机推荐

  1. 将十进制数转为一个n位数的密码(每位都是个m进制数)

    例如一个6位数的10进制密码,共有106个密码,如果把每个6位数的密码编成号就是[0,106-1].这是十进制的情况,即6个位,每个位有10种选择.如果要遍历所有密码,需要6重for循环,每个循环10 ...

  2. Redis持久化

    Redis持久化 快照(默认) 将内存中的数据以快照的方式写入到二进制文件中,默认文件名是dump.rdb. 配置自动化做快照持久化(如redis在n秒内如果超过m个key被修改就自动做快照) sav ...

  3. CDR VBA鼠标选择

    Dim x As Double, y As Double, Shift As Long, b As Boolean, doc As Document Dim sel1 As Shape, sel2 A ...

  4. Android RadioGroup和RadioButton详解

    实现RadioButton由两部分组成,也就是RadioButton和RadioGroup配合使用.RadioGroup是单选组合框,可以容纳多个RadioButton的容器.在没有RadioGrou ...

  5. java 简单使用redis

    1.配置文件 <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig" ...

  6. ModelMapper 中高级使用 java

    ModelMapper 是一个java对象自动映射的第三方架包,用起来很方便,配合阿里的frstjson可以极大简化后台代码. 但是ModelMapper 中文使用说明很少,官网http://mode ...

  7. APM程序分析-Control_rtl.cpp

    bool Copter::rtl_init(bool ignore_checks) { if (position_ok() || ignore_checks) { rtl_build_path(!fa ...

  8. python 以及其他java php等在ubuntu上切换的命令

    sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100 sudo update-alternati ...

  9. [Android Pro] Android开发实践:为什么要继承onMeasure()

    reference to : http://www.linuxidc.com/Linux/2014-12/110164.htm Android开 发中偶尔会用到自定义View,一般情况下,自定义Vie ...

  10. DOM对象—选中执行效果

    ---恢复内容开始--- 例如我们注册时,一些法律条例,我们是否同意决定着能否注册.在选择同意或不同意时出现的效果. 先在body里做一个按钮和选项框. <input type="ch ...