数据结构——树状数组小结
适用场景树状数组是一种适用于多次单点修改统计区间和问题的数据结构。基本思想Binary Indexed Tree 求和的基本思想在于,给定需要求和的位置 i ,例如 13 ,我们可以利用其二进制表示法来进行分段(或者说分层)求和:13 = 2^3 + 2^2 + 2^0,则prefixSum(13) = RANGE(1, 8) + RANGE(9, 12) + RANGE(13, 13) (...
适用场景树状数组是一种适用于多次单点修改统计区间和问题的数据结构。基本思想Binary Indexed Tree 求和的基本思想在于,给定需要求和的位置 i ,例如 13 ,我们可以利用其二进制表示法来进行分段(或者说分层)求和:13 = 2^3 + 2^2 + 2^0,则prefixSum(13) = RANGE(1, 8) + RANGE(9, 12) + RANGE(13, 13) (...
从汇编语言的视角来看在函数调用的时候,需要有一条指令跳转到被调用函数的位置,这个看起来和其他控制结构没什么不同;但是在被调用函数返回的时候,我们却需要返回...
最近看了操作系统相关的知识,结合上《程序员的自我修养》这本书所讲的链接装载与库,感觉对于一个程序从编译,到汇编转换成机器码,再到多目标文件与库的链接,是一个非常复杂的过程。所以想要浅显易懂的总结一下,也刚好是找到了一个算是浅显易懂的总结,所以在自己的理解上再进行了一些润色。编译流程从源代码得到可执行文件的编译流程可被细化为多个阶段(虽然输入一条命令便可将它们全部完成):编译器 (Compil...
操作系统的特征从总体上看,操作系统具有五个方面的特征:虚拟化 (Virtualization)、并发性 (Concurrency)、异步性、共享性和持久性...
前言关于typecho的插件开发这块,可谓是一片空白,什么文档都没有,完全靠自己摸着石头过河。开端因为前几天在handsome主题里面发现了一个追番的独立页面显示,然后就立刻尝试了。结果发现这个原插件是一股脑把个人的所有追番记录全部塞到网页内容一口气加载,我当时就想,这可不行啊,我两百多部追番,这样加载性能影响太大了,我得做个分页逻辑。然后就开始了我的插件改写之路。动手我立马跑到插件文件夹开...