fz 发布于 04月18, 2019

C++中的Argument-dependent lookup

写代码的时候发现一个问题,有的STL函数在没引入std命名空间的时候,不加std::就能调用。例如:#include <algorithm>#include <iostream>#include <vector>int main() { std::vector<int> v; v.push_back(0); v.push_back(...

阅读全文 »

fz 发布于 04月06, 2019

几个Bash快捷键

老想不起来用,索性记下来,正好水一篇博客。^A: 移到行首^E: 移到行位^L: 清屏,不用再clear了^Y: 粘贴上一次删除的内容^← / ESC, B: 向左移动一个单词^→ / ESC, F: 向右移动一个单词^B: 光标左移^F: 光标右移其他几个比较常见的:^D: 键入EOF^R: 搜索命令历史^C: 终止命令(SIGTERM)^W: 向前删除一个单词^U: 删除从光标到行首的内容^K...

阅读全文 »

fz 发布于 04月06, 2019

快速数论变换的时间复杂度问题

前不久,看到了个大新闻,有人提出了个的整数乘法算法。不过据说是理论意义大于实际意义。看到这个我就很奇怪了,使用FFT的整数乘法算法的时间复杂度之前难道不就是吗?然后我看到了知乎上相关的讨论,说以前的复杂度是。难道我一直都搞错了吗?经过一番研究后发现,这是由于我们对和运算的定义不同导致的。说复杂度为的,指的是二进制位的个数,其基本运算是二进制位的运算。而具体到我们的常见实现,我们通常采用十进制数下的...

阅读全文 »

fz 发布于 03月31, 2019

Thinking in A Tour of Go

记录一下在看A Tour of Go时遇到的一些问题和思考。首先是几个C/C++选手初用Go需要注意的问题。int uint uintptr是C的long,即32位机器则是4字节,64位机器则是8字节。switch是强制按从上往下顺序来判断。因此也就不可能出现像C那样编译器实现二分查找做switch减少判断次数的情况。且Go的switch不需要break,因此当两个case有相同行为时,要把两个c...

阅读全文 »

fz 发布于 03月31, 2019

Office安装MathType

又是一个老生常谈的话题。都2019年了,Edge都用Chromium了,Office还不能自带LaTeX的支持。MathType作为老牌插件还是挺好用的,但还是有一些问题,比如行距的问题。Office 2003用MathType 6.5就可以,Office 2010可以用MathType 6.8,Office 2016可以用MathType 6.9b(6.9不行,要手动搞一下),当然,不一定精确。...

阅读全文 »

fz 发布于 03月31, 2019

搜狗输入法日期时间加前导零

搜狗输入rq和sj可以输出日期和时间。这个功能是通过自定义短语实现的。但是这个时间没有前导零。自己按格式添加一个带前导零的即可,具体变量如下:; 函数 含义 举例; $year 年(4位) 2006、2008; $year_yy 年(2位) 06、08; $month 月 12、8、3; $...

阅读全文 »

fz 发布于 03月21, 2019

编译安装thrift0.9.2

由于thrift0.9.2这个版本已经很老了,编译安装问题多多,下面以Debian为例进行说明。我这里的环境是Debian9。首先这个版本的thrift不能用高版本的go,我实测go1.9.0可以进行编译。当然,GOROOT和PATH要设置成go1.9.0的路径,例如:export GOROOT=/mnt/d/work/library/go1.9.0export PATH=$GOROOT/bin:...

阅读全文 »

fz 发布于 03月21, 2019

解决Chrome打开新标签页自动跳转Google的问题

新装的Chrome只要默认搜索引擎是Google,打开新标签页就会自动跳转到Google,最后找到原因是:如果默认搜索引擎是Google,新标签页上就有Google搜索的HTML,这里面可能会有一些重定向操作,例如重定向到Google HK。所以我们访问一下 www.google.com/ncr 就好了。...

阅读全文 »

fz 发布于 02月26, 2019

在VSCode中使用WSL进行gdb调试

如果你是用的MinGW或者TDM-GCC编译你的程序,调试的时候直接用它们的gdb.exe即可,但如果是在WSL下编译运行,则需使用WSL下的Linux版gdb才行。下面说下VSCode怎么配置WSL下的gdb。VSCode自己带了个debug的GUI壳,需要配合相应语言的交互层(例如cpptools插件)以及debug工具(例如gdb)使用。这是使用方法,写好launch.json配置文件即可。...

阅读全文 »

fz 发布于 01月22, 2019

升级Ubuntu的Linux内核

首先在kernel.ubuntu.com里找需要的内核版本,例如v4.19.16。根据架构(例如AMD64),找到对应的deb文件,把第一个all包下下来,然后根据是想要generic还是lowlatency下对应的包,然后sudo dpkg -i *.deb就好了。最后可以uname -a看一下内核版本。...

阅读全文 »