小优化

技巧,  神奇 ;

调和级数 1+1/2+1/3+.....+1/n ;   据说发散;

#include <cstdio>
const int MAXN = 1e8;
double f[MAXN/50]; int top;
const int N = 1e8;
void getf()
{
    top = 0; f[top++] = 0; double res = 0;
    for(int i = 1; i <= N; i++)     // 优化 ;
    {
        res += 1.0 / i;
        if(i % 50 == 0)
        {
            f[top++] = res;
        }
    }
}
int main()
{
    getf();
    int t; scanf("%d", &t);
    while(t--)
    {
        int n; scanf("%d", &n);
        int s = n / 50;
        double ans = f[s];
        for(int i = s * 50+1; i <= n; i++) {
            ans += 1.0 / i;
        }
        printf("%.4lf\n", ans);
    }
    return 0;
}
时间: 2024-10-18 02:11:31

小优化的相关文章

缓存 Array.length 是老生常谈的小优化

问题 缓存 Array.length 是老生常谈的小优化. // 不缓存 for (var i = 0; i < arr.length; i++) { ... } // 缓存 var len = arr.length; for (var i = 0; i < len; i++) { ... } // 或者 for (var i = 0, len = arr.length; i < len; i++) { ... } 但以前写过 Java 的笔者一直对这种破碎的写法感到不适,也对这种写法的

Lichee (六) 配置内核时的一点小优化

我们在分析<Lichee(二) 在sun4i_crane平台下的编译 >的时候,居然没有一个步骤是在配置内核 make ARCH=arm menuconfig 仔细的读过的代码的会发现,在build_kernel有这么一段话 if [ ! -e .config ]; then echo -e "\n\t\tUsing default config... ...!\n" cp arch/arm/configs/sun4i_crane_defconfig .config fi

Popush前端小优化-邹豪风

[实现篇] 实现功能 实现Popush用户注册后自动登录功能. 实现思路 阅读Popush代码的前端部分,主要观察了Views中关于注册和登录两个部分向后台传递数据的方式.发现该项目前后端交互的机理是:客户端利用socket.emit发送数据到服务器端,服务器端利用socket.on进行事件响应并处理相关数据. 客户端发送数据: 1 app.socket.emit('register', { 2 name: name, 3 password: pass, 4 }); 服务器端响应: 1 sock

[MySQL5.6] 最近对group commit的小优化

[MySQL5.6] 最近对group commit的小优化 http://www.tuicool.com/articles/rEZr2q 最近花了一些时间在做MySQL Group Commit的优化,关于Group commit的原理,这里不再赘述,有兴趣的可以翻阅我之前的博客 http://mysqllover.com/?p=581,这里简单描述下两点优化,主要基于MySQL5.6.16 1.优化binlog_order_commits=0并且sync_binlog>0时的性能  我们知道

博客园博客小优化

博客园博客小优化 Fork me on Github 页首Html 代码部分增加以下代码: <a href="https://github.com/WeihanLi" target="_blank"> <img style="position: fixed; top: 0; right: 0; border: 0;z-index:233" src="https://github-camo.global.ssl.fast

KMP算法的正确性证明及一个小优化

直接把作业帖上来是不是有点不太公道呀... 无所谓啦反正各位看着开心就行 KMP算法 对于模式串$P$,建立其前缀函数$ N$ ,其中$N [q] $ 表示在$P$中,以$q$位置为结束的可以匹配到前缀的最长后缀的长度(也可以理解为那个前缀的结束位置),在匹配中,若$P[i]$与$S[j]$失配,则令$i=N [i-1] +1$ ,否则$i=i+1,j=j+1$ 现考虑如何构造$N$ ,设当前以计算出$N[1..i-1]$ ,则令$k=N[i-1]$ ,若 $P[k+1]=P[i]$,则令$N[

js代码小优化

今天真坑,老大请了两天假,来了之后指指点点,不过人家说的倒是很是到位 好不容易把嵌套小窗口登陆注册功能,做完了,直接调之前写好的登陆注册功能,也就是页面跳转 并不是ajax异步登陆 说让改成ajax ,返回json格式.也就是使用@ResponseBody罢了 恩,没错,改吧,页面直接用的freemarker取值也是有为题了,毕竟ajax后台model,put();的值是取不出来的. 解决完之后毕竟登陆注册小窗口是一个抽取出来的html,那个页面需要直接include进来罢了. OK.我自我感觉

符合条件的记录有则修改没有则添加的小优化技巧

通常的写法: if(select count(1) from table where id=XXX)=0 insert into XXX else update table set xxx where id=XXX 优化后的写法: update table set xxx where id=XXX if @@rowcount=0 insert into XXX 第一种情况,无论如何都会执行两次操作,第二种情况只会运行一次操作!!

asp.net 一般处理程序小优化

使用asp.net mvc习惯了,最近项目中又开始使用asp.net,有大量的ajax方法调用,之前有两种方法来处理: Switch case :方法少还行,如果很多,就太蛋疼了,而且方法堆在一块,也不美观 匿名方法:方法复用不好,vs代码也不便于折叠 最近研究了一下用反射方法来做,把类中所有公开方法都通过反射找出存到字典中,调用时匹配字典中的key,看是否有此方法. 以下是我写的方法,这种方法我总结有以下优点: 不用大量写大量判断语句,简洁 方法可以复用 可以集中处理一些事情,如调用前监控,处