调和级数为什么是 O(logn) 的】的更多相关文章

目录 调和级数 正片 调和级数 调和级数(Harmonic series)定义为 \[H(n)=\sum_{i=1}^n\dfrac 1i \] \(H\) 发散,证明看百度 . 正片 首先我们把 \(\dfrac 1n\) 拆成积分形式 \[\dfrac 1n=\int_{n}^{n+1}\dfrac1{\lfloor x\rfloor}\mathrm dx \] 于是 \[\begin{aligned}H(n)&=\sum_{i=1}^n\dfrac1i\\&=\sum_{i=1}^n…
E - No Pain No Game  HDU - 4630 这个题目很好,以后可以再写写.这个题目就是线段树的离线写法,推荐一个博客:https://blog.csdn.net/u010033217/article/details/38156507这个题目因为数据太大,所以如果直接每一个查询都直接查肯定会T的,所以就要用到线段树.我直接说思路吧,第一步,预处理所有可能的数据,就是把每一个数的因子全部求出来,用一个数组存下来.这里就要用到调和级数,用n*logn的复杂度预处理出1~n的所有数的…
有一个a数组,里面有n个整数.现在要从中找到两个数字(可以是同一个) ai,aj ,使得 ai mod aj 最大并且 ai ≥ aj. Input 单组测试数据. 第一行包含一个整数n,表示数组a的大小.(1 ≤ n ≤ 2*10^5) 第二行有n个用空格分开的整数ai (1 ≤ ai ≤ 10^6). Output 输出一个整数代表最大的mod值. Input示例 3 3 4 5 Output示例 2 题解:首先考虑mod的真正定义a%b=a/b*b+c思考一下其实是kb+c的形式,画在数轴…
题意:求f(n)=1/1+1/2+1/3+1/4-1/n   (1 ≤ n ≤ 108).,精确到10-8    (原题在文末) 知识点:      调和级数(即f(n))至今没有一个完全正确的公式,但欧拉给出过一个近似公式:(n很大时)       f(n)≈ln(n)+C+1/2*n       欧拉常数值:C≈0.57721566490153286060651209       c++ math库中,log即为ln. 题解: 公式:f(n)=ln(n)+C+1/(2*n); n很小时直接求…
Mutiple  Accepts: 476  Submissions: 1025  Time Limit: 4000/2000 MS (Java/Others)  Memory Limit: 65536/65536 K (Java/Others) 问题描述 wld有一个序列a[1..n], 对于每个1≤i<n, 他希望你求出一个最小的j(以后用记号F(i)表示),满足i<j≤n, 使aj为ai的倍数(即aj mod ai=0),若不存在这样的j,那么此时令F(i) = 0 保证1≤n≤1000…
Saint John Festival 题目链接: http://acm.hust.edu.cn/vjudge/contest/127406#problem/J Description Porto's Festa de São João is one of Europe's liveliest street festivals. Its peak is the night of 23rd to 24th of June, with dancing parties from Ribeira to…
作者:何海涛 出处:http://zhedahht.blog.163.com/ 题目:定义Fibonacci数列如下: /  0                      n=0 f(n)=      1                      n=1         \  f(n-1)+f(n-2)          n=2 输入n,用最快的方法求该数列的第n项. 分析:在很多C语言教科书中讲到递归函数的时候,都会用Fibonacci作为例子.因此很多程序员对这道题的递归解法非常熟悉,看到题…
题目链接:BZOJ - 2048 题目分析 只有一本书时,这本书的重心落在桌子边缘上,伸出桌面的长度就是 1/2. 有两本书时,第一本书的重心就落在第二本书的边缘上,两本书的重心落在桌子边缘上,两本书的重心就是在最下面一本书的右端 1/4  处.那么伸出 1/2 + 1/4 . 三本书时,可以再多伸长 3 本书的重心 1/6 . 继续计算可以发现规律,i 本书的重心就落在最下面一本书的右端 1/2i 处. 那么我们要求的伸出的总长度就是 sigma(1 / 2i) = sigma(1 / i)…
题目链接:BZOJ - 1218 题目分析 可以覆盖一个边长为 R 的正方形,但是不能包括边界,所以等价于一个边长为 R - 1 的正方形. 坐标范围 <= 5000 ,直接 n^2 的二维前缀和,枚举每一个边长为 R - 1 的正方形就 AC 了 = = 但是,尽管 O(n^2) 的算法能水过,lct1999 神犇仍然坚持要写 O(n logn) 算法虐掉这道题,于是我 Orz 他也学着写了一下. 在神犇的讲解下,我写了这个算法: 首先将 n 个点按照 x 坐标排序,用一条竖直的扫描线,从左到…
时间复杂度为O( log n )的方法: 该算法使用矩阵乘法操作,使得算法时间复杂度为 O(logN) long long Fibonacci( unsigned n ) { ] = {, }; ) return result[n]; ; ; long long fibThree ; ; i <= n; ++ i) { fibThree = fibOne + fibTwo; fibOne = fibTwo ; fibNTwo = fibThree; } return fibThree; } /*…