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!

  • 相关阅读:
    防火墙透明模式
    HP管理工具System Management Homepage安装配置
    kbmmw 中JSON 中使用SQL 查询
    kbmmw 中JSON 操作入门
    第一个kbmmw for Linux 服务器
    kbmmw 5.02发布
    kbmmw 5.01 发布
    使用delphi 10.2 开发linux 上的Daemon
    使用unidac 在linux 上无驱动直接访问MS SQL SERVER
    使用delphi 10.2 开发linux 上的webservice
  • 原文地址:https://www.cnblogs.com/guapisolo/p/13776752.html
Copyright © 2011-2022 走看看