bitset中_Find_first()与_Find_next()函数
bitset中_Find_first()与_Find_next()函数
很有趣但是没怎么有用的两个函数。
_Find_fisrt就是找到从低位到高位第一个1的位置
#include<bits/stdc++.h>
int main() {
	std::bitset<1001> B;
	B.set(2); B.set(4); B.set(233);
	std::cout << B._Find_first();
}
输出结果为2
_Find_next就是找到当前位置的下一个1的位置
#include<bits/stdc++.h>
int main() {
	std::bitset<1001> B;
	B.set(2); B.set(4); B.set(233);
	std::cout << B._Find_next(5);
}
输出结果为233 1001,也就是说如果某个元素之后没有元素的话会返回bitset的大小
那么我们可以这样去遍历一个bitset
#include<bits/stdc++.h>
int main() {
	std::bitset<1001> B;
	B.set(2); B.set(4); B.set(233);
	for(int i = B._Find_first(); i != B.size(); i = B._Find_next(i))
		std::cout << i << ' ';
}
输出结果为2 4 233。
按照糖教主的说法,这样遍历的复杂度是\(O(\frac{n}{w})\)的。\(n\)是bitset的大小,\(w\)与计算机有关,一般为\(32\)或\(64\)。也就是说遍历bitset的复杂度与bitset内1的个数无关
同时Swistakk大佬说
I don't remember it in details, but bitset in fact has a function for k-th bit, however it is declared as private... I have no idea why would someone not expose such useful function to world and deem it as private, but #define private public is there to help you
但是我翻了半天bitset的源代码也没找到与第K有关的函数qwq。如果有知道的大佬欢迎在评论区留言,本蒟蒻感激不尽
参考资料
bitset Find_first and Find_next
bitset中_Find_first()与_Find_next()函数的更多相关文章
- SQL中Round(),Floor(),Ceiling()函数的浅析
		
项目中的一个功能模块上用到了标量值函数,函数中又有ceiling()函数的用法,自己找了一些资料,对SQL中这几个函数做一个简单的记录,方便自己学习.有不足之处欢迎拍砖补充 1.round()函数遵循 ...
 - avascript中的this与函数讲解
		
徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大 ...
 - PHP中有关正则表达式的函数集锦
		
之前学正则表达式的目的是想从网上抓取点小说啊,文档啊,还有获取相应的视频连接然后批量下载.当时初学PHP根本不知道PHP有专门抓包的工具,就像Simple_html_dom.php(在我的其他博文中有 ...
 - SQL SERVER中用户定义标量函数(scalar user defined function)的性能问题
		
用户定义函数(UDF)分类 SQL SERVER中的用户定义函数(User Defined Functions 简称UDF)分为标量函数(Scalar-Valued Function)和表值函数(T ...
 - mysql中bit_count和bit_or函数的含义
		
翻阅mysql手册时,看到有个示例使用了bit_or方法来去除重复的数据,一开始没看明白,后来看明白之后感觉非常巧妙.示例要实现的功能就是计算每月有几天有访问,先把示例摘录在这里. 1 2 3 4 5 ...
 - C#中的日期处理函数
		
C#中的日期处理函数 //2013年4月24日 this.TextBox6.Text = System.DateTime.Now.ToString("D"); //2013-4-2 ...
 - 在Excel中使用频率最高的函数的功能和使用方法
		
在Excel中使用频率最高的函数的功能和使用方法,按字母排序: 1.ABS函数 函数名称:ABS 主要功能:求出相应数字的绝对值. 使用格式:ABS(number) 参数说明:number代表需要求绝 ...
 - Loadrunner中web_find和web_reg_find函数的使用与区别
		
总结一下Loadrunner中的检查点函数,主要介绍两个函数:web_find()和web_reg_find():这两个函数均用于内容的查找,但两者也有本质的区别,具体介绍如下:一.web_find( ...
 - python 中的sort 和java中的Collections.sort()函数的使用
		
x=[1,2,3] x.sort()对的,x这个都变了 y=x.sort()错误 y=sorted(x)对的,x拍好序的一个副本 python中用匿名函数和自定义函数排序:(很奇怪的是比较函数返回的是 ...
 
随机推荐
- Xaml Controls Gallery 的五个没有用的控件
			
HyperlinkButton 功能:这个控件可以实现点击按钮后跳到另一个按钮的功能. 我觉得这个功能有些多余,据我了解,一些深受欢迎的游戏大都具备的一个特点,那就是操作简单,界面中不会出现冗余的东西 ...
 - 【RL-TCPnet网络教程】第16章 UDP用户数据报协议基础知识
			
第16章 UDP用户数据报协议基础知识 本章节为大家讲解UDP(User Datagram Protocol,用户数据报协议),需要大家对UDP有个基础的认识,方便后面章节UDP实战操作. ...
 - TCP/IP 详解常用术语
			
业务需要,最近看TCP/IP 这本书,专业名词太多了,总结一下,给后来着参考,直接使用. 后续会在读书时慢慢添加. ACK:(ACKnowledgment)TCP首部中的确认标志. ARP:地址解析协 ...
 - 学习Python--函数进阶
			
函数进阶 目标 函数参数和返回值的作用 函数的返回值 进阶 函数的参数 进阶 递归函数 01. 函数参数和返回值的作用 函数根据 有没有参数 以及 有没有返回值,可以 相互组合,一共有 4 种 组合形 ...
 - 从搭建V2Ray服务器到编译V2Milk的完整过程
			
概述 因为公司出口ip一直在变,所以waf白名单不好加入,所以搭一个了代理服务器 .搭建了V2Ray服务器 .为了好管理,找了一个@Zzm317开源的V2Milk. V2Milk为V2Ray跨平台定制 ...
 - Spring之AOP流程解析(ProxyFactory)
			
本节我们从ProxyFactory开始分析.该类有几个比较重要的方法——addAdvice.addAdvisor.getProxy,其中最后一个方法是我们本节的重点.前两个方法都是向ProxyFact ...
 - [bzoj4771] 七彩树
			
题意 给定一棵n个点,每个点带颜色的有根树.点的编号和颜色编号都在1到n,根的编号为1.m次询问,求x子树中与x距离边数不超过k的点中,颜色的种类数目.每个测试点有多组数据. 分析 不妨设1的父亲为0 ...
 - mysql主从集群配置
			
1.二进制日志 主: #master vim /etc/mysql/my.cnf #server-id server-id=2 #二进制日志 log-bin=musql-bin#statement r ...
 - Can't connect to X11 window server using ':1.0' as the value of the DISPLAY variable.
			
安装oracle数据时需要用到图形界面安装,当我们用root用户登录后切换到oracle用户时运行./runInstaller提示报错: Can't connect to X11 window ser ...
 - 探索ASP.NET Core中的IStartupFilter
			
原文:Exploring IStartupFilter in ASP.NET Core 作者:Andrew Lock 译者:Lamond Lu 在本篇博客中,我将介绍一下IStartupFilter, ...