lightoj1234调和级数+欧拉常数】的更多相关文章

数据比较小时直接算,数据比较大时用公式1+1/2+...+1/n=inn+C+1/(2*n)   ,C是欧拉常数0.5772156649 刚开始用的这个1+1/2+...+1/n=in(n+1)+C,结果一直wa.... #include<map> #include<set> #include<cmath> #include<queue> #include<stack> #include<vector> #include<cst…
题意:求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很小时直接求…
In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In this problem, you are given n, you have to find Hn. Input Input starts with an integer T (≤ 10000), denoting the number of test cases. Each case…
In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In this problem, you are given n, you have to find Hn. InputInput starts with an integer T (≤ 10000), denoting the number of test cases. Each case s…
Harmonic Number In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In this problem, you are given n, you have to find Hn. Input Input starts with an integer T (≤ 10000), denoting the number of test c…
题目链接:BZOJ - 2048 题目分析 只有一本书时,这本书的重心落在桌子边缘上,伸出桌面的长度就是 1/2. 有两本书时,第一本书的重心就落在第二本书的边缘上,两本书的重心落在桌子边缘上,两本书的重心就是在最下面一本书的右端 1/4  处.那么伸出 1/2 + 1/4 . 三本书时,可以再多伸长 3 本书的重心 1/6 . 继续计算可以发现规律,i 本书的重心就落在最下面一本书的右端 1/2i 处. 那么我们要求的伸出的总长度就是 sigma(1 / 2i) = sigma(1 / i)…
/** 题目:Harmonic Number 链接:https://vjudge.net/contest/154246#problem/I 题意:求Hn: Hn = 1 + 1/2 + 1/3 + ... + 1/n; (n<=1e8) T<=1e4; 精确到1e-8: 思路:由于1e8,所以直接存表不行. 通过每100个存入数组一个变量值.然后每次查询最多100次就可以了. 其他解法转自http://www.cnblogs.com/shentr/p/5296462.html: 知识点: 调和…
相关资料:https://baike.baidu.com/item/%E8%B0%83%E5%92%8C%E7%BA%A7%E6%95%B0/8019971?fr=aladdin 调和级数(英语:Harmonic series)是一个发散的无穷级数.调和级数是由调和数列各元素相加所得的和.中世纪后期的数学家Oresme证明了所有调和级数都是发散于无穷的.但是调和级数的拉马努金和存在,且为欧拉常数. 代码: <!DOCTYPE html> <html lang="utf-8&qu…
题解:隔一段数字存一个答案,在查询时,只要找到距离n最近而且小于n的存答案值,再把剩余的暴力跑一遍就可以. #include <bits/stdc++.h> using namespace std; const int N = 1e8 + 10; const int M = 2e6 + 10; double a[M]; void Init() { a[0] = 0.0; double ans = 1; for( int i = 2; i < N; i ++) { ans += 1.0 /…
In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In this problem, you are given n, you have to find Hn. Input Input starts with an integer T (≤ 10000), denoting the number of test cases. Each case…
题目链接:http://lightoj.com/volume_showproblem.php?problem=1234 Sample Input Sample Output Case : Case : 1.5 Case : 1.8333333333 Case : 2.0833333333 Case : 2.2833333333 Case : 2.450 Case : 2.5928571429 Case : 2.7178571429 Case : 2.8289682540 Case : 18.89…
2081: [Poi2010]Beads Time Limit: 10 Sec  Memory Limit: 259 MBSubmit: 1003  Solved: 334[Submit][Status][Discuss] Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串),每块有k(k>0)个珠子,如果这条珠子的长度不是k的倍数,最后一块小于k的就不要拉(nc真浪费),保证珠子的长度为正整数. Z…
有一个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的形式,画在数轴…
Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 3031  Solved: 1596[Submit][Status][Discuss] Description   今天是贝茜的生日,为了庆祝自己的生日,贝茜邀你来玩一个游戏.     贝茜让N(1≤N≤100000)头奶牛坐成一个圈.除了1号与N号奶牛外,i号奶牛与i-l号和i+l号奶牛相邻.N号奶牛与1号奶牛相邻.农夫约翰用很多纸条装满了一个桶,每一张包含了一个独一无二的1到1,000,000的数字.…
[BZOJ2793][Poi2012]Vouchers Description 考虑正整数集合,现在有n组人依次来取数,假设第i组来了x人,他们每个取的数一定是x的倍数,并且是还剩下的最小的x个.正整数中有m个数被标成了幸运数,问有哪些人取到了幸运数. Input 第一行一个正整数m (m<=1,000,000),下面m行每行一个正整数x (x<=1,000,000),表示x是一个幸运数.接下来一行一个正整数n (n<=1,000,000),下面n行每行一个正整数x (x<=1,0…
 我是首先在[1] 注意到 Spigot-Algorithm的,这个算法公布的相当早.见[2].  [1] 给出几个令人惊异的程序.仅仅用非常少的代码就能够计算e,pi,log(2)等常数. 当中那个4行代码计算圆周率的程序被网友称作外星人写的程序.但我一直没有勇气去分析和学习它,近期最终决定学习这个 Spigot-Algorithm,先看了文献[3].明确了其基本思想.遂计划尝试编写各种计算常数的代码.并写一个系列博客.从这篇開始,我将讲述假设使用这个算法计算各种常数或者级数的和. 数列a…
[BZOJ2081][Poi2010]Beads Description Zxl有一次决定制造一条项链,她以非常便宜的价格买了一长条鲜艳的珊瑚珠子,她现在也有一个机器,能把这条珠子切成很多块(子串),每块有k(k>0)个珠子,如果这条珠子的长度不是k的倍数,最后一块小于k的就不要拉(nc真浪费),保证珠子的长度为正整数. Zxl喜欢多样的项链,为她应该怎样选择数字k来尽可能得到更多的不同的子串感到好奇,子串都是可以反转的,换句话说,子串(1,2,3)和(3,2,1)是一样的.写一个程序,为Zxl…
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1607 题意: 给你n个数,问你除a[i]之外,有多少个数是a[i]的约数. 题解: ans[i]表示这n个数中有多少个数是i的约数. 对于a[i],它对它倍数的答案有贡献:ans[a[i]*k]++ 为了提高效率,可以先合并相同的a[i]. cnt[i]代表值为i的数字有多少个. 所以变为:ans[i*k]+=cnt[i] 枚举每个数的倍数的总复杂度为O(nlogn)(调和级数). 最后…
题目链接:https://vjudge.net/problem/LightOJ-1234 1234 - Harmonic Number    PDF (English) Statistics Forum Time Limit: 3 second(s) Memory Limit: 32 MB In mathematics, the nth harmonic number is the sum of the reciprocals of the first n natural numbers: In…
[题目] [预备知识] ,其中r是欧拉常数,const double r= 0.57721566490153286060651209; 这个等式在n很大 的时候 比较精确. [解法]可以在 n较小的时候,比如n<1e6时,直接用预处理的打表O(1)求值,在n比较 大的时候,运用以上公式,此时要减去 1/(2*n)加以修正. #include<iostream> #include<cmath> using namespace std; const double euler= 0…
题目描述: 1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数. 它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字. 但是,它发散的很慢: 前1项和达到 1.0 前4项和才超过 2.0 前83项的和才超过 5.0 那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢? 请填写这个整数. 注意:只需要填写一个整数,不要填写任何多余的内容.比如说明文字. 正确算法: 正确答案是 1835421 这一题考查对float和double的理解,如果粗…
/* LightOJ1234 Harmonic Number http://lightoj.com/login_main.php?url=volume_showproblem.php?problem=1234 打表 分块 由于只有加法运算,1e8时间是可以承受的. 然而空间无法承受,于是以50个单位为一块进行分块. */ #include <cstdio> #include <algorithm> #include <cstring> #include <cmat…
题目描述 蚂蚁是勤劳的动物,他们喜欢挑战极限.现在他们迎来了一个难题!蚂蚁居住在图书馆里,图书馆里有大量的书籍.书是形状大小质量都一样的矩形.蚂蚁要把这些书摆在水平桌子的边缘.蚂蚁喜欢整洁的布置,所以蚂蚁规定书本必须水平摆放,宽必须平行于桌缘(如图),而且不允许同一高度摆多本书. 蚂蚁想要让书本伸出桌子边缘尽量远,同时不让书因为重力垮下来.它们已经用不知道什么方法测出了书的长度\(M\)(如图).如果总共有\(N\)本书,请你帮忙计算如何摆放使得最多水平伸出桌缘多远.你不用考虑蚂蚁用什么方法搭建…
A 水题 /*Huyyt*/ #include<bits/stdc++.h> #define mem(a,b) memset(a,b,sizeof(a)) using namespace std; typedef long long ll; typedef unsigned long long ull; ][] = {{, }, {, }, {, -}, { -, }, {, }, {, -}, { -, -}, { -, }}; , gakki = + + + + 1e9; , MAXM =…
1/1 + 1/2 + 1/3 + 1/4 + - 在数学上称为调和级数. 它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字. 但是,它发散的很慢: 前1项和达到 1.0 前4项和才超过 2.0 前83项的和才超过 5.0 那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢? 请填写这个整数. 注意:只需要填写一个整数,不要填写任何多余的内容.比如说明文字. 答案:1835421 public class Main { public static void mai…
目录 调和级数 正片 调和级数 调和级数(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…
题目分析: 好题!我们发现题目实际是要求出从某个左端点开始跑出去的BB型有多少个和从某个右端点开始跑出去的AA型有多少个. 发现这个问题是对称的,所以只考虑从左端点跑出去的BB型有多少个就可以了. 我们不妨考虑长度为$k$的BB型,那么我们把字符串每$k$个化成一个整体,然后如果从$i$开始存在一个长度为$k$的BB型,就等价于$i$开始这个整体的后缀等于下一个整体的后缀,下一个整体的后缀等于下下个整体的前缀,所以我们用哈希来求出最长后缀和最长前缀就可以做了. 代码: #include<bits…
两种解法如下: 1.模拟 这种做法的思路是枚举n从1开始,直到Sn>k结束,只需要一个循环即可实现. 代码: #include<cstdio> int main() { ; scanf("%d",&k); ;Sn<=k;++n,Sn+=1.0/n); printf("%d",n); ; } 空间复杂度O(1) 时间复杂度  O(e^k−γ)(求法见做法2) (如果那个γ可以约去的话,应该是O(e^k),但并不知道可不可以约去) 代码:…
/* 打不了那么大的表,所以只记录分块的信息即可 */ #include<bits/stdc++.h> using namespace std; #define maxn 1000005 double arr[maxn]; void init(){ arr[]=; ; ;i<maxn*;i++){ tmp=tmp+1.0/i; ==)arr[i/]=tmp; } } int main(){ init(); ; cin>>T; while(T--){ cin>>n;…
题意:给出一个字符串,问其中有多少个子串恰好为\(uvu\)的形式.其中,\(u\)非空,\(v\)的长度恰好为\(l\). \(n \leq 5 \times 10^4\) 我们设两个后缀的起点分别为\(a,b \, (a < b)​\),那么,它们能贡献一个合法的子串当且仅当\(lcp(a,b) + l \geq b - a​\).这样,我们得到了\(O(n^2)​\)的暴力. 由于\(lcp(a,b)\)和\(b-a\)没有什么关系,所以我们考虑枚举\(b-a\).设\(b-a = s\)…