无聊的小笔记本

会持续更新,有意思的小东西都会放在这里

其实就是一些很小又怕自己忘记的小知识,以及一些奇怪的东西

✡二进制的三种码

原码:就是二进制正常表示一个数,不足八位在前面补零补到八位

反码:对原码取反

补码:反码+1

另外一说~:补码就是负数在计算机中的二进制表示方法。

✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡

✡一些位运算等的预处理

像lowbit、log、平方等会用到多次的量,如果可以判断数据上界,

则最好写成一个数组,预处理出所有可能用到的值。

如果写成函数形式,那么每次需要使用这些值是都要调用一遍函数,

或者用如x&(-x)的式子现算一遍。增加了很多无意义的运算量,代码常数会变得较差。

每题一次预处理,超大常数远离我。与其用一些玄学的优化,不如减少运算量,更快更稳定。

✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡✡