树状数组不难理解,学的还算轻松,它的核心就是一个lowbit的运用,学之前还特地把位运算重新学了一遍。 //位运算符:& | ^ ~ << >> int a1=60,b1=13; //在二进制中, //a=00111100 //b=00001101 int c1=a1&b1;//对应每一位做与运算, ...
分类:
编程语言 时间:
2020-02-14 22:13:53
阅读次数:
87
很多编程语言都有位运算符,Java语言也不例外。在Java语言中,提供了7种位运算符,分别是按位与(&)、按位或(|)、按位异或(^)、取反(~)、左移(<<)、带符号右移(>>)和无符号右移(>>>)。这些运算符当中,仅有~是单目运算符,其他运算符均为双目运算符。在讲解这些运算符的使用之前,必须了解一个常识,那就是:位运算符是对long、int、
分类:
编程语言 时间:
2020-02-14 13:04:48
阅读次数:
81
一、判断一个数字X的i位是不是1
二、把一个数字二进制下的第i位改成1
三、把一个数字二进制下的最靠右的第一个1改成0(去掉) ...
分类:
其他好文 时间:
2020-02-13 23:08:30
阅读次数:
68
1、直接用bitset进行 & | ^ 操作,它的效率取决于bitset的长度 长为1e5的bieset进行1e5次 位运算,1s+ 2、any(),none()也与长度有关 长为1e5的bitset进行1e5次,0.8s+ 3、all()取决于里面1的数量,如果全是1的话,根any()差不多 #i ...
分类:
其他好文 时间:
2020-02-13 22:41:33
阅读次数:
82
前言: 学习一门编程语言的基本步骤(1)了解背景知识(2)搭建开发环境(3)语法规范(4)常量和变量(5)数据类型(6)数据类型转换(7)运算符7.运算符 表达式:由运算符连接的操作数据,所组成的形式。 运算符分为算数运算符,比较运算符,逻辑运算符,位运算符,赋值运算符,三目运算符 (1)算术运算符 ...
分类:
Web程序 时间:
2020-02-13 14:43:54
阅读次数:
95
2.1 标识符 简单的说,凡是程序员自己命名的部分都可以称为标识符。 即给类、变量、方法、包等命名的字符序列,称为标识符。 1、标识符的命名规则 (1)Java的标识符只能使用26个英文字母大小写,0-9的数字,下划线_,美元符号$ (2)不能使用Java的关键字(包含保留字)和特殊值 (3)数字不 ...
分类:
编程语言 时间:
2020-02-12 20:35:07
阅读次数:
74
题意:n个顶点带权无向图,求最短hamilton路径长度(从起点0走到终点n-1,且经过每个顶点恰好一次的路径) 在看位运算的时候做到这题,觉得状态压缩的思路挺奇特的。本来n<20,O(n!*n)的算法肯定炸了,但是可以二进制表示状态 如果将i表示为二进制,i的第j位走过就为1,没走过就为0(注意二 ...
分类:
其他好文 时间:
2020-02-12 20:31:58
阅读次数:
61
leetcode 191. 位1的个数 维护匹配串 从1开始逐位移动比较 class Solution { public: int hammingWeight(uint32_t n) { // uint32_t为32位无符号类型数据 int count=0; uint32_t donser=1; f ...
分类:
编程语言 时间:
2020-02-12 11:10:06
阅读次数:
67
下面记录一些待做的事情。 知识点: 1. 回文树,回文自动机 2. 位运算卷积(FWT,FMT,FST等等) 3. 生成函数 …… 每天计划: 1. 每天补一道之前做过的题的题解。 …… 不懈努力,静待奇迹 ...
分类:
其他好文 时间:
2020-02-11 18:58:23
阅读次数:
55
过去有一段时间一直以为带个括号的 sizeof() 是 C/C++ 的原生函数QAQ。 其实不然,sizeof 同位运算符(^|&~!)一样是一种单目运算符,作用于变量或数组。 在编译时编译器就会把 sizeof() 的内容转换成常数存入机器码中,不涉及函数的底层操作。 用途 sizeof 运算符可 ...
分类:
编程语言 时间:
2020-02-11 14:39:11
阅读次数:
86