zoukankan      html  css  js  c++  java
  • 近期一些学习的随笔

    把原来搞OI时置顶的游记都取消了

    算是标志自己走向全新的生活吧

    1.关于template的使用

    可以使函数中的形参不受变量类型的限制,照常编写我们的函数

    我把longlong int 或者自己定义的结构体类型扔进去都可以,不过往往需要正确地重载运算符

    2.关于负数的二进制问题

    对于有符号整型数x,-x的二进制表示为~(x-1),以下给出证明

    假设x在二进制下有8位,由于计算时溢出的位直接被忽略(或者看成每次计算都会取模256),那么-x等价于+256-x!

    又255-x == ~x,因此255-(x-1) == ~(x-1) 即256-x == ~(x-1)

    大功告成

    引申:树状数组的lowbit的证明

    树状数组有这样一个结构 i+=i&(-i) ,其中i&(-i)表示i的最低位的1表示的数

    这个在学OI的时候一直困扰着我 但因为感觉没啥用当时我也没管

    我们假设最低位的1在第x位

    有一个很显然的结论,当一个数-1时,i中最低位的1一定会变成0(先不考虑i=0)

    对于第x位,原来是1,i-1后变成0,取反又变回1,与运算后这一位的1被保留了下来

    对于低于x的位,原来都是0,i-1后一定都变成1,取反变成0,再与运算,这些位仍然是0

    对于高于x的位,取反再与一定是0

    最终我们成功保留了最低位的1!

  • 相关阅读:
    计算机注销、热启动、冷启动
    从高处理解android与服务器交互(看懂了做开发就会非常的容易)
    Android—Work—1day
    软件需求分析方法
    Android 常用控件的介绍
    android中Json的一些应用
    java数据传递例子+内存分析
    android中MVP模式
    android的四层体系结构,基于mvc三层结构浅析
    java
  • 原文地址:https://www.cnblogs.com/guapisolo/p/13776752.html
Copyright © 2011-2022 走看看