[LUOGU] P2759 奇怪的函数】的更多相关文章

题目描述 使得 x^x x x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^xx x 达到 n 位数字的最小正整数 x 输入输出样例 输入样例#1: 复制 11 输出样例#1: 复制 10 说明 n<=2000000000 这么大肯定有规律..嗯. 求数x的位数,常规做法是写一个函数求,但是这就要求得到这个具体的这个数,这里x^x太大,如果不用高精度,肯定是不行的. 考虑一个数x,求它的位数: log10(1)=0; log1…
题目描述 使得 x^x达到或超过 n 位数字的最小正整数 x 是多少? 输入格式 一个正整数 n 输出格式 使得 x^x达到 n 位数字的最小正整数 x 计算一个数有多少位 log10(x)+1 #include<cmath> #include<cstdio> #include<cstring> #include<iostream> #include<algorithm> #define int long long using namespace…
P2759 奇怪的函数 题目描述 使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^x 达到 n 位数字的最小正整数 x 输入输出样例 输入样例#1: 11 输出样例#1: 10 说明 n<=2000000000 换底公式 /* 相当于解不等式x^x>=10^(n-1) 两边取常用对数 x*log10(x)>=n-1 左边是单调增的 然后二分查找就行了 */ #include<iostream> #…
题目链接 看了题解之后突然发现这题简直是水题.然而不看题解就想不出来.为什么呢? len(x)=log10(x)+1 于是二分寻找x. #include<iostream> #include<cmath> #include<cstdio> using namespace std; long long ans; int main(){ ,r=; int n; cin>>n; while(l<=r){ ; ; ; else { ans=mid; r=mid…
https://www.luogu.org/problemnew/show/P2759 #include<cstdio> #include<algorithm> #include<cstring> #include<vector> #include<cmath> using namespace std; #define fi first #define se second #define mp make_pair #define pb push_…
题目描述 使得 x^xxx 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^xxx 达到 n 位数字的最小正整数 x 输入输出样例 输入样例#1: 复制 11 输出样例#1: 复制 10 说明 n<=2000000000 比较套路,首先转化一下题面,我们需要找到一个最小的$x$,使得 $x^x > 10^n$ 两边同时取$log$ $xlog_{10}x > n - 1$ 由于log函数有单调性,因此可以二分$x$ #in…
题目描述 使得 x^x 达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 x^x 达到 n 位数字的最小正整数 x 输入输出样例 输入样例#1: 11 输出样例#1: 10 说明 n<=2000000000 题解:二分答案 实质是求 x^x>=10^(n-1), log(x^x)>=log(10^(n-1)) x*log(x)>=n-1 因为左边是单调的 二分即可. 代码: #include<iostream>…
[题目描述] 给定n,使得x^x达到或超过n位数字的最小正整数x是多少? [样例输入] 11 [样例输出] 10 [解题思路] 首先想到枚举,但是范围有点大,n<=2*10^9,果断用二分.其实这道题并不难,要用到一个求位数的公式trunc(t*(ln(t)/ln(10)))+1,初三自然是没学的,直接抄上公式,AC……,二分的时候注意一下退出的条件.(wikioi上1696和3538的题目不一样,但同一个程序都能AC,也不知道1696中的k是干嘛的……) [代码实现] var n:qword;…
[Luogu2759]奇怪的函数(数论) 题面 题目描述 使得 \(x^{x}\)达到或超过 n 位数字的最小正整数 x 是多少? 输入输出格式 输入格式: 一个正整数 n 输出格式: 使得 \(x^x\) 达到 n 位数字的最小正整数 x 输入输出样例 输入样例#1: 11 输出样例#1: 10 说明 n<=2000000000 题解 简单题.... 数学题.... 位数\(-1=log_{10}^{x^x}=xlog_{10}^x\) 直接二分即可 #include<iostream>…
提交地址:http://cojs.tk/cogs/problem/problem.php?pid=558 558. 奇怪的函数 ★☆   输入文件:xx.in   输出文件:xx.out   简单对比时间限制:1 s   内存限制:32 MB 问题描述     使得x^x达到或超过n位数字的最小正整数x是多少?   输入数据     输入一个正整数n.   输出数据     输出使得x^x达到n位数字的最小正整数x.   输入样例 11   输出样例 10   时间限制     各测试点1秒  …
题意 奇怪的函数 [问题描述] 使得x^x达到或超过n位数字的最小正整数x是多少? [文件输入] 输入一个正整数n(n<=2*10^9). [文件输出] 输出使得x^x达到n位数字的最小正整数x. [样例输入] 11 [样例输出] 10 分析 \[ x^x \geq 10^{n-1} \\ x \lg x \geq n-1 \] 然后就可以二分解决问题了. 时间复杂度\(O(\log n)\) 代码 #include<bits/stdc++.h> using namespace std;…
奇怪的函数 考虑暴力,每次查询\(O(n)\)扫所有操作,修改\(O(1)\) 这启发我们平衡复杂度,考虑分块. 观察题目性质,可以发现,经过若干次操作后得到的结果一定是一个关于\(x\)的分段函数,图像分为三段,且第一段和第三段斜率为0,中间斜率为1.那么只需要简单地记下拐点的坐标就可以表示这个函数. 简单分类讨论一下,可以线性处理出我们要的分段函数. 那么就很简单了,分\(B\)块维护分段函数,每次修改暴力重构整个块,查询遍历每个块,复杂度为\(O(q(B+\frac{n}{B}))\)取\…
题目描述 呵呵,有一天我做了一个梦,梦见了一种很奇怪的电梯.大楼的每一层楼都可以停电梯,而且第i层楼(1<=i<=N)上有一个数字Ki(0<=Ki<=N).电梯只有四个按钮:开,关,上,下.上下的层数等于当前楼层上的那个数字.当然,如果不能满足要求,相应的按钮就会失灵.例如:3 3 1 2 5代表了Ki(K1=3,K2=3,……),从一楼开始.在一楼,按“上”可以到4楼,按“下”是不起作用的,因为没有-2楼.那么,从A楼到B楼至少要按几次按钮呢? 输入输出格式 输入格式: 输入文件…
题目描述 Description 自从得到上次的教训后,John的上课态度认真多了,也变得更爱动脑筋了.今天他又学习了一个新的知识:关于 xk 的位数. 如果x大于0小于l,那么位数=1+小数部分×k, 如果x≥l,那么位数=trunc(ln(x)/ln(10)×k)+1+小数部分×k. 根据这些函数知识,他学会了求xk的位数了.但他又想到了另外一个问题,如果已知位数N,能不能求出使得 xk 达到或超过N位数字的最小正整数x是多少? 输入描述 Input Description 输入一个正整数n…
奇怪的道路 我看不出来是状压的状压 好吧,其实看到k的范围应该去往状压方面想的. 然后,题目中说"任何一个城市都与恰好偶数条道路相连(0也被认为是偶数)". 所以,奇偶,两种状态可以用0,1来表示,那就妥妥的状压了. 设 \(dp_{i,j,sta}\) 表示当前已经考虑了i座城市,j条道路,当前状态为sta的方案数. 用0表示奇数,1表示偶数,为了防止转移时出现问题,所以只转移第i个城市的前k个城市,通过异或能够将连边的两个城市由奇变偶,由偶变奇. 则有 \[dp_{i,j,sta}…
题目背景 终于解出了dm同学的难题,dm同学同意帮v神联络.可dm同学有个习惯,就是联络同学的时候喜欢分组联络,而且分组的方式也很特别,要求第i组的的人数必须大于他指定的个数ci.在dm同学联络的时候,v神在想,按照dm同学的规则一共可以有多少种方案呢?他想啊想,终于--没想出来.于是他又想到了聪明的你,你能帮v神算出按照dm同学的规则有多少种分组方案吗? 题目描述 v神的班级共有n个人,dm同学想把同学分成M组联络,要求第i组的人数必须大于给定的正整数Ci,求有多少不同的方案?(两个是相同的方…
期望得分:100+100+100=300 实际得分:0+100+90=190 T1 superman 二分给每条边加多少,判断是否存在负环 #include<queue> #include<cstdio> #include<cstring> #include<algorithm> #define N 501 #define M 4951 using namespace std; int n,tot,front[N],to[M],nxt[M],val[M],v…
今天在分析一个jQuery插件源码的时候,发现了一个奇怪的函数. 这个函数的目的是为数字补零,如传入7,输出07,传入12输出12.由于是对时间补零,只截取后两位. // add leading zeros var pad = function(x){return (1e15+""+x).slice(-2)}; 首先1e15是什么意思? 也不是十六进制表示法. 不管三七21,直接F12打开命令窗口,执行下看看,结果是1后面有15个0. 原来1e15是科学计数法,表示1乘以10的15次方…
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){})在内的所有声明都会在代码被执行前的编译阶段首先被处理 过程就好像变量声明和函数声明从他们代码中出现的位置被移动到执行环境的顶部,这个过程就叫做提升 只有声明操作会被提升,赋值和逻辑操作会被留在原地等待执行 变量声明 Js编译器会把变量声明看成两个部分分别是声明操作(var a)和赋值操作(a=2…
如果你遇到没有函数体的函数声明,表示该函数不是以Go实现的. package math func Sin(x float64) float //implemented in assembly language 如果为函数的每一个返回值都设置变量名,则会以相应的零值初始化,且在该函数的return语句中省略操作数,这种用法称之为 bare return. go中的错误处理,习惯上是先进行一系列的初始化检查,将处理失败逻辑的代码先行处理,然后才是函数的实际逻辑,这样使得代码更简洁,避免过多的层级结构…
本来规划的是2013年,狠狠的将JS学习下,谁知计划赶不上变化,计划泡汤了.13年的我对JS来说可以说是属于跟风,对它的理解和认识也仅仅是皮毛而已,也是因为要完成<ArcGIS API for JavaScipt开发教程>而临阵磨枪. 在接触JS一段时间后,觉得还是比较灵活的,灵活的前提是要更深入的了解,就像两个陌生的人,相处的时间长了,了解的时间长了,难免会产生感情一样.对于JS也开始产生了感情,这种感情体现在工作中,体现在周围的环境中. 目前很多开发者纷纷加入JS的阵营,看来这已经不是跟风…
2014-07-29 20:16 深入剖析C/C++函数的参数传递机制    C语言的函数入口参数,可以使用值传递和指针传递方式,C++又多了引用(reference)传递方式.引用传递方式在使用上类似于值传递,而其传递的性质又象是指针传递,这是C++初学者经常感到困惑的.为深入介绍这三种参数传递方式,我们先把话题扯远些: 1. C/C++函数调用机制及值传递: 在结构化程序设计方法中,先辈们告诉我们,采用“自顶向下,逐步细化”的方法将一个现实的复杂问题分成多个简单的问题来解决.而细化到了最底层…
原创笔记,转载请注明出处! 点击[关注],关注也是一种美德~ C++中所有的变量和函数都必须有类型: C语言中的默认类型在C++中是不合法的! 在C语言里面可以写一些很奇怪的函数!并且可以运行成功! f(i)函数的返回值是什么类型?参数又是什么类型?我们赋值10居然可以打印出来! g()函数可以接受多少个参数?我们没有参数,但是函数调用时我们可以加上参数,并且运行成功! f(i) { printf("i=%d\n",i); } g() { return 5; } int main()…
因为基础算法快学完了,图论又太难(我太蒻了),想慢慢学. 所以暂时不写关于算法的博客了,但又因为更新博客的需要,会多写写关于STL的博客. (毕竟STL函数库还是很香的(手动滑稽)) 请出今天主角:STL全排列函数prev_permutation()和next_permutation() Part 1:引入和导语 首先,我们需要知道,algorithm库里有一些奇怪的函数. 我们在做题的时候,经常会遇到一些全排列的问题(bushi 这时我们通常要用递归搜索解决问题,但是那样会很麻烦,代码也会又臭…
时隔20多天,本蒟蒻终于记起了他的博客园密码!!! 废话不多说,今天主题:STL快排函数sort()与结构体关键字排序 Part 1:引入和导语 首先,我们需要知道,algorithm库里有一些奇怪的函数. 这些函数可以替代一些代码,使你的程序更加简洁好懂,还可以偷懒. 比如在进行DP时的状态转移时可以用的max()和min()可以快速比较两个数的大小, 又或者是abs(),看似没什么用的绝对值函数, 亦或是lower_bound(),upper_bound()拯救二分渣(比如我)的二分查找函数…
2021.08.10 Euler函数总结 知识: 记 φ(n) 表示在 [1,n] 中与 n互质的数的个数. 1.p为质数,则 \[φ(p^l)=p^l-p=p^{l-1}(p-1) \] 注:每p个数中就有一个数整除p^l 延伸1:若 \[n=p_1^{a_1}*p_2^{a_2}*P_3^{a_3}\cdots p_k^{a_k} \] 则 \[φ(n)=p_1^{a_1-1}*(p_1-1)*p_2^{a_2-1}*(p_2-1)*p_3^{a_3-1}*(p_3-1)\cdots p_k…
https://www.luogu.org/problem/show?pid=T2485 题目背景 汉诺塔升级了 题目描述 现在我们有N个圆盘和N个柱子,每个圆盘大小都不一样,大的圆盘不能放在小的圆盘上面,N个柱子从左向右排成一排.每次你可以将一个柱子的最上面的圆盘移动到右边或者左边的柱子上(如果移动是合法的话).现在告诉你初始时的状态,你希望用最少的步数将第i大的盘子移动到第i根柱子上,问最小步数. 输入输出格式 输入格式: 第一行一个整数T,代表询问的组数. 接下来T组数据,每组数据第一行一…
min_25 筛介绍 我们考虑这样一个问题. \[ans=\sum_{i = 1}^nf(i)\\ \] 其中 \(1 \le n \le 10^{10}\) 其中 \(f(i)\) 是一个奇怪的函数.并不像 \(μ(i),φ(i),iφ(i)\)那样具有那么好的性质.但是满足以下条件: 若 \(p\)为质数,则 \(f(p)\)是一个关于 \(p\)的多项式,比如 \(μ(p)=−1,φ(p)=p−1\). 若 \(p\)为质数,\(e\)为正整数,则 \(f(pe)\)可以很快求出.(通常是…
接续前节:[dpdk] 熟悉SDK与初步使用 (一)(qemu搭建实验环境) 程序逻辑: 运行参数: 关键API: 入口函数: int rte_eal_init(int argc, char **argv) 内存池函数: rte_pktmbuf_pool_create.  它是函数 rte_mempool_create 的一个封装. struct rte_mempool * rte_pktmbuf_pool_create(const char *name, unsigned n, unsigne…
①循环?NO!请递归思考问题! 手艹一个求列表中最大值代码,C语言中习惯性for扫一下比较出最大值.但是可以用递归! maximum'::(Ord a)=>[a]->a maximum' []=error "empty!" maximum' [x]=x maximum' (x:xs) = max x (maximum' xs) 同样的对列表的递归技巧可以手艹出take.reverse.repeat.zip.elem rev::[a]->[a] rev []=[] re…