洛谷P2759 奇怪的函式 log 二分

2021-09-07 19:06:28 字數 831 閱讀 1423

使得 x^*** 達到或超過 n 位數字的最小正整數 x 是多少?

輸入格式:

乙個正整數 n

輸出格式:

使得 x^*** 達到 n 位數字的最小正整數 x

輸入樣例#1: 

複製

11

輸出樣例#1: 

複製

10

n<=2000000000

比較套路,首先轉化一下題面,我們需要找到乙個最小的$x$,使得

$x^x > 10^n$

兩邊同時取$log$

$xlog_x > n - 1$

由於log函式有單調性,因此可以二分$x$

#include#include

#include

#include

#include

#define int long long

using

namespace

std;

const

int maxn = 4 * 1e5 + 10, mod = 100003

;inline

intread()

while(c >= '

0' && c <= '

9') x = x * 10 + c - '

0', c =getchar();

return x *f;

}main()

cout

<}

洛谷P2759 奇怪的函式

使得 x x 達到或超過 n 位數字的最小正整數 x 是多少?輸入格式 乙個正整數 n 輸出格式 使得 x x 達到 n 位數字的最小正整數 x 輸入樣例 1 11輸出樣例 1 10n 2000000000 換底公式 相當於解不等式x x 10 n 1 兩邊取常用對數 x log10 x n 1 左...

P2759 奇怪的函式 題解

csdn同步 原題鏈結 前置知識 二分,對數。簡要題意 求 x x 的位數超過或達到 n 位的最小的 x n leq 2 times 10 9 首先,x x 與 x 是正比例關係,具有單調性。樸素來說就是 x x 隨 x 增大而增大,主要因為 x 1 答案不可能是 1 啊 具有單調性的函式可以進行二...

LuoguP2759 奇怪的函式

使得 x x 達到或超過 n 位數字的最小正整數 x 是多少?這道題並沒有想出來,太丟臉了 首先注意到題目要求位數超過n位數字 考慮如何求位數,我們發現對於數n的位數就是log10 n 1 換到這道題裡就是求log10 x x 1 n的最小值的x 於是就是x log10 x 1 n的最小x值,二分即...