适用场景树状数组是一种适用于多次单点修改统计区间和问题的数据结构。基本思想Binary Indexed Tree 求和的基本思想在于,给定需要求和的位置 i ,例如 13 ,我们可以利用其二进制表示法来进行分段(或者说分层)求和:13 = 2^3 + 2^2 + 2^0,则prefixSum(13) = RANGE(1, 8) + RANGE(9, 12) + RANGE(13, 13) (...
Articles under the label of 代码
- Home
- 代码
从汇编语言的视角来看在函数调用的时候,需要有一条指令跳转到被调用函数的位置,这个看起来和其他控制结构没什么不同;但是在被调用函数返回的时候,我们却需要返回...
最近看了操作系统相关的知识,结合上《程序员的自我修养》这本书所讲的链接装载与库,感觉对于一个程序从编译,到汇编转换成机器码,再到多目标文件与库的链接,是一个非常复杂的过程。所以想要浅显易懂的总结一下,也刚好是找到了一个算是浅显易懂的总结,所以在自己的理解上再进行了一些润色。编译流程从源代码得到可执行文件的编译流程可被细化为多个阶段(虽然输入一条命令便可将它们全部完成):编译器 (Compil...
操作系统的特征从总体上看,操作系统具有五个方面的特征:虚拟化 (Virtualization)、并发性 (Concurrency)、异步性、共享性和持久性...
站在用户和应用程序的角度看操作系统操作系统内核是一个需要提供各种服务的软件,其服务对象是应用程序,而用户(这里可以理解为一般使用计算机的人)是通过应用程序的服务间接获得操作系统的服务的,因此操作系统内核藏在一般用户看不到的地方。但应用程序需要访问操作系统获得操作系统的服务,这就需要通过操作系统的接口才能完成。操作系统的接口形式就是应用程序二进制接口 (ABI, Application Bin...