- 博客(6)
- 收藏
- 关注
原创 TCP/IP协议栈源代码分析
Linux内核的整体架构如下图所示:Process Scheduler,也称作进程管理、进程调度。负责管理CPU资源,以便让各个进程可以以尽量公平的方式访问CPU。Memory Manager,内存管理。负责管理Memory(内存)资源,以便让各个进程可以安全地共享机器的内存资源。另外,内存管理会提供虚拟内存的机制,该机制可以让进程使用多于系统可用Memory的内存,不用的内存会通过文件系统保存在外部非易失存储器中,需要使用的时候,再取回到内存中。
2023-12-31 11:52:44 1065
原创 快慢双指针
在做leetcode时,碰到了在原数组上直接修改数组的问题,见到了一种快慢双指针法,在此记录一下。T1:删除重复元素Ⅰ核心思想即设置两个指针,第一个指针slowslowslow的含义是数组在 [0,slow][0,slow][0,slow] 区间内的数是仅出现了一次的,即要保留的数。第二个指针fast用于遍历数组,用于判断遍历到的数是否保留(比较该数与保留区间的最后一个数,即[slow][slow][slow]是否相同,相同则不保留,不同则保留)保留时,只需将slowslowslow++,然后将fas
2021-04-07 22:46:52 80 1
原创 专题训练(2)
本周的学习内容:树状数组用于对区间操作非常方便。1001求一个整数,二进制表示形式中最低位的1代表的整数。就是树状数组中,求Lowbit的操作。题解:#include <iostream>using namespace std;int main(){ int num; cin>>num; while(num!=0) { cout<<int(num&(-num))<<endl;
2021-03-16 21:54:20 79
原创 ACM学习笔记--动态规划
动态龟划规划之背包问题01背包01背包的特点:物品只有一件,可以选择放或者不放。问题:有N件物品和一个容量为V的背包。放入第iii件物品耗费的费用是CiC_iCi,得到的价值是WiW_iWi。求解将哪些物品装入背包可以使物品的价值总和最大。思路:把整个问题,拆分成几个子问题。则面对第iii个物品时,只需要考虑放或者不放。所以不妨定义一个状态:即F[i,v]F[i,v]F[i,v]表示前iii件物品放入容量为vvv的背包获得的最大价值。所以可以得到状态方程:F[i,v]=max{F[i
2020-12-12 01:30:15 161
原创 ACM学习笔记--第一次训练赛题解
第一次训练赛题解1.气球涂色问题问题如下:HDU1556具体题意:给定N个气球,然后给出N个区间,每次对区间上的气球刷一次色,最后输出每个气球涂了多少次色。这个问题设计到的知识点是差分,区间更新,线段树在此回顾一下差分的相关概念:差分:即相邻两个数的差,用一个数组P存储数组A的差分,那么P是A的差分数组,即Pi=Ai−AP_i=A_i-APi=Ai−A此处要理解为当前项和前一项的差(因为复原改变后的数组时,需要考虑到第一项没有前一项的问题)P[i]里存放着A[i]和A[i-1]
2020-12-10 00:51:57 351 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人