CF791A Bear and Big Brother 【题解】
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                CF791A Bear and Big Brother 【题解】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                來一篇O(1)O(1)O(1)的題解
題目可以轉化為求最小的xxx使得下式成立。
a?3x>b?2xa*3^x>b*2^xa?3x>b?2x
繼續轉化
3x2x>ba\frac{3^x}{2^x}>\frac{a}2x3x?>ab?
即:
(32)x>ba(\frac{3}{2})^x>\frac{a}(23?)x>ab?
那么如何求最小的xxx呢?
可以先求
(32)x=ba(\frac{3}{2})^x=\frac{a}(23?)x=ab?
這里的xxx就是log32balog_{\frac 32}\frac balog23??ab?
我們只要向下取整再加上111就好啦
還有一個問題:ccc++沒有log32log_{\frac 32}log23??怎么辦?
沒關系!換底公式 , 出現!
lognm=logamloganlog_n m=\frac{log_a m}{log_a n}logn?m=loga?nloga?m?
這時就可以用ccc++自帶的logloglog函數啦(應該是以eee為底的)
在cmathcmathcmath庫里哦!
代碼奉上!
#include<iostream> #include<cmath> using namespace std; int main(){int a,b;cin>>a>>b;double n=1.5,m=1.0*b/a;cout<<int(log(m)/log(n))+1;return 0; }總結
以上是生活随笔為你收集整理的CF791A Bear and Big Brother 【题解】的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: oracle函数整理---first_v
 - 下一篇: 微信手写板 android,微信小程序: