TIPS
- glibc使用ptmalloc实现malloc。ptmalloc会管理从内核申请到的内存,可以使用的内存包括堆内存以及mmap申请的内存。进程申请、释放内存由ptmalloc管理,而不是直接交由内核处理。ptmalloc支持多线程,各个线程之间申请内存时,使用锁进行保护。因此,多线程下效率会受到影响。
- 解决最长回文字符串:Manacher算法。
- 交叉编译perf:使用uclibc工具链编译perf失败,使用gnu的工具链成功了。交叉编译时:第一步是准备好工具链,编译参数:make ARCH=MIPS CROSS_COMPILE=MIPS-uclibc-linux-。ARCH指定目标架构,CROSS_COMPILE指定工具链名字的头部(mips-uclibc-linux-gcc)。可能还需要修改sysroot,这个参数在makefile中修改,这个是gcc的参数–sysroot=/opt/xx
- python编辑excel文件的相关库,xlrd,xlwt,xlutils.xlrd只用于读;xlwt只用于写;xlutils可以修改,实际上是结合了前面连个包的功能,但是xlutils有一个限制,列的数量不能超过256,超过了就处理不了。
- C语言中的位运算
&:按位与
^: 按位异或
|: 按位与
~:按为取反
leetcode题目:数组中数字出现的次数。这个题的解法巧妙的使用到了相同的数进行异或值为0的特点进行处理。 - 动态规划问题:最低票价看到这个题目时,知道用动态规划求解,但是想了很久也没有想到动态规划的方程。分析的按照按照时间从前往后分析的,那就会遇到当前需要出去的日子是否需要买票的问题,当前买票,影响的是后续的时间,而当前的时间是否需要买票又和前面的时间买的票相关。这样思考,冲突很多,无法找到方法。没办法去看了题解。。。。心中一个卧槽。题解开始就说,时间倒着来分析,那么当前需要出去玩的日期买的票就会影响已经分析过的日期。根据票的覆盖范围来计算当前日期的最小票价。总结一下,动态规划DP(i)应该是当前i数据段的局部最优解,这个应该是明确的,找到这个因子只有才能进行下一步的分析。