luogu P2759 奇怪的函数 |二分答案】的更多相关文章

题目描述 使得 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…
题目描述 使得 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…
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> #…
[BZOJ1074] [luogu 4036] [JSOI 2008] 火星人 (二分答案+哈希+fhq treap) 题面 给出一个长度为n的字符串,m个操作,字符串仅包含小写英文字母 操作1:在k位置后插入字符v: 操作2:将k位置的字符修改为字符v 操作3:查询从该字符串中第 x个字符开始的字符串,与该字符串中第 y个字符开始的字符串,两个字串的公共前缀的长度 分析 看到动态插入和修改,考虑用fhq treap维护字符串序列.以下split指按子树大小分裂 操作1:同样split出前k个的…
题目描述 博览馆正在展出由世上最佳的 M 位画家所画的图画. wangjy想到博览馆去看这几位大师的作品. 可是,那里的博览馆有一个很奇怪的规定,就是在购买门票时必须说明两个数字, a和b,代表他要看展览中的第 a 幅至第 b 幅画(包含 a 和 b)之间的所有图画,而门票 的价钱就是一张图画一元. 为了看到更多名师的画,wangjy希望入场后可以看到所有名师的图画(至少各一张). 可是他又想节省金钱... 作为wangjy的朋友,他请你写一个程序决定他购买门票时的 a 值和 b 值. 输入输出…
二分答案水题. (像我这么蒻的人都能十几分钟A掉) https://www.luogu.org/problemnew/show/P2920 开始时间一定在从0到min(t[i]-s[i])的一段区间上,因此我们可以愉快地二分答案. 在二分答案之前,我们贪心地把结束时间从小到大排一遍序,于是就可以二分了. 最后如果结果是负数,证明无解,不能完成任务.输出-1. Check函数里,模拟累加一下当前的时间加上最靠近ddl任务所花的时间,看能不能完成,进行判断. code #include<cstdio…
题目描述 “咚咚咚……”“查水表!”原来是查水表来了,现在哪里找这么热心上门的查表员啊!小明感动的热泪盈眶,开起了门…… 妈妈下班回家,街坊邻居说小明被一群陌生人强行押上了警车!妈妈丰富的经验告诉她小明被带到了t区,而自己在s区. 该市有m条大道连接n个区,一条大道将两个区相连接,每个大道有一个拥挤度.小明的妈妈虽然很着急,但是不愿意拥挤的人潮冲乱了她优雅的步伐.所以请你帮她规划一条从s至t的路线,使得经过道路的拥挤度最大值最小. 输入输出格式 输入格式: 第一行四个数字n,m,s,t. 接下来…
题面 传送门:https://www.luogu.org/problemnew/show/P1462 Solution 这道题如果去除掉经过城市的收费.那么就是裸的最短路 但是题目要求经过城市中最多的一次性收费的最小值,也就是说让经过的最大值尽可能小 那我们可以考虑二分这个最大值 一切收费大于我们二分的值的城市统统不走 在最短路那里改一下就好了 然后就OjbK了 时间复杂度 O(n*logn*log b) Code //Luogu P1462 通往奥格瑞玛的道路 //May,27th,2018…
题目链接 震惊!两个线段树和一个线段树竟是50分的差距! 本题可以使用二分答案,二分那个位置上最后是什么数.怎么验证呢? 把原序列改变,大于等于mid的全部变成1,小于mid的全部变成0,之后线段树排序. 最后看那个位置上是1还是0,若是1则说明最后那个位置上是个>=mid的数. #include<cstdio> #include<cctype> #include<algorithm> #include<cstring> #include<cst…
题目描述 使得 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>…