E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
算法基础·基础算法·并查集
【
算法基础
】
基础算法
(三)--(双指针算法、位运算、离散化、区间合并)
一、双指针算法双指针算法是一种通过设置两个指针不断进行单向移动来解决问题的算法。1、双指针算法模板记忆!for(inti=0,j=0;i>k&1返回n的最后一位1:lowbit(n)=n&-n2、思路(1)求n的第k位数字先把第k位移到最后一位:n>>k看个位是几:x&1【总结】n>>k&1(2)返回n的最后一位1n=1010;lowbit(n)=10;n=101000;lowbit(n)=100
炫酷的伊莉娜
·
2023-10-15 11:19
算法
算法
c++
开发语言
双指针算法
位运算
离散化
区间合并
并查集
(合并与查找)
什么是
并查集
?
并查集
是一种用来管理元素分组情况的数据结构。
并查集
可以高效地查询两个元素是否在同一个集合、合并两个不同的集合。 不过需要注意
并查集
虽然可以进行合并操作,但是却无法进行分割操作。
小轩爱学习
·
2023-10-15 11:18
算法
数据结构
数据结构
java
算法
集合个数(
并查集
)
题目描述Caima给你了所有[a,b]范围内的整数。一开始每个整数都属于各自的集合。每次你需要选择两个属于不同集合的整数,如果这两个整数拥有大于等于p的公共质因数,那么把它们所在的集合合并。重复如上操作,直到没有可以合并的集合为止。现在Caima想知道,最后有多少个集合。输入格式一行,共三个整数a,b,p,用空格隔开。输出格式一个数,表示最终集合的个数。输入输出样例输入10203输出7说明/提示样
李sy同学
·
2023-10-15 11:48
算法
数据结构
并查集
图-
并查集
并查集
什么,听说你连图都没学过?还不赶紧回去学去!文章目录
并查集
1.定义2.意义3.查询4.合并5.扩展域6.边带权7.总结1.定义什么是
并查集
?集:集合。并:合并的意思,把集合合并在一起。
奋斗的小牛
·
2023-10-15 11:47
#
算法合集
#
C++
#
C++信息学奥赛一本通
图论
数据结构
算法
并查集
并查集
:集合合并与元素查找
专注前端与算法的系列干货分享,欢迎关注(¬‿¬):「微信公众号:心谭博客」|xin-tan.com|GitHub1.什么时候需要
并查集
?
心谭
·
2023-10-15 11:42
算法与数学
C++
算法
并查集
并查集
-合并集合
文章目录QuestionIdeasCodeQuestion一共有n个数,编号是1∼n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:Mab,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;Qab,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为Mab或Qab中的一种。输出格式对于
aJupyter
·
2023-10-15 11:41
#
算法基础课
算法
数据结构
图论
[题解]第十一届蓝桥杯大赛软件类省赛第二场C/C++ 大学 B 组
目录试题A:门牌制作试题B:既约分试题C:蛇形填数试题D:跑步锻炼(代码明天补上)试题E:七段码方法1:二进制枚举+
并查集
方法2:DFS+
并查集
试题F:成绩统计试题H:子串分值和试题I:平面切分(明天补上
泥烟
·
2023-10-15 08:42
蓝桥杯
蓝桥杯
c++
2019-06-10
ImplementQueueusingStacksImplementStackusingQueuesReverseLinkedListSearcha2DMatrixII在行有序,列有序的矩阵中找到给定的数哈希函数和哈希表;布隆过滤器一致性哈希
并查集
前缀树贪心策略
swagsmile
·
2023-10-15 08:17
银河英雄传说,带权值的
并查集
238.银河英雄传说-AcWing题库有一个划分为N列的星际战场,各列依次编号为1,2,…,N。有N艘战舰,也依次编号为1,2,…,N,其中第i号战舰处于第i列。有T条指令,每条指令格式为以下两种之一:Mij,表示让第i号战舰所在列的全部战舰保持原有顺序,接在第j号战舰所在列的尾部。Cij,表示询问第i号战舰与第j号战舰当前是否处于同一列中,如果在同一列中,它们之间间隔了多少艘战舰。现在需要你编写
Landing_on_Mars
·
2023-10-15 06:36
并查集
算法
数据结构
并查集
acwing
算法基础
之数据结构--单链表
目录1知识点2模板1知识点一般以指针实现为主,可以预生成N个结构体。structListNode{intval;ListNode*next;};但这里以数组模拟为主。单链表和邻接表。双链表。(一)插入操作链表插入操作的关键步骤,比如在结点a处插入一个新结点b,构建结点b,b的next指针指向a的下一个结点。a的next指针指向b。注意,必须先进行操作1,再进行操作2。(二)删除操作删除结点k的后一
YMWM_
·
2023-10-15 03:27
Acwing
数据结构
算法
acwing
算法基础
之数据结构--双链表
目录1知识点2模板1知识点一般的结构体写法为,structBiListNode{intval;BiListNode*left;BiListNode*right;};但我们不用这个,而用数组模拟双链表,此时,用编号为0的结点表示头结点,用编号为1的结点表示尾节点。2模板constintN=1e6+10;intidx;//用来表示所有的结点下标。inte[N],l[N],r[N];//e[i]表示结点
YMWM_
·
2023-10-15 03:27
Acwing
算法
数据结构
acwing
算法基础
之数据结构--栈和队列
目录1知识点2模板1知识点栈:先进后出。先进的就是栈底,后进的就是栈顶。后进先出嘛,所以在栈顶弹出元素。队列:先进先出。先进的就是队头,后进的就是队尾。先进先出嘛,所以在队头弹出元素。单调栈:输入数组,求每个元素左边的某个元素,满足(1)比它小,(2)离它最近。//输入数组nums//输出上述要求的数值for(inti=0;i=nums[i]){tt--;}if(tt){cout=nums[i])
YMWM_
·
2023-10-15 03:56
Acwing
数据结构
算法
第十一届蓝桥杯C/C++B组省赛 E:七段码(
并查集
+二进制枚举)
思路:因为涉及到判断联通问题,所以很自然的可以想到,用来专门用来判断是否联通的数据结构-
并查集
。解决了是否联通问题,接下来就是如果考虑所有的情况。
Zero 零0
·
2023-10-14 18:53
蓝桥杯
蓝桥杯
c++
【蓝桥杯-七段码】
//ACcode#include#definedeb(x)cout7){/*
并查集
判是否在同一集合*/for(inti=1;i<=7;i++)fa[i]=i;//初始化父亲集合for(inti=1;i<
mingyu19
·
2023-10-14 18:53
蓝桥杯
c++
【蓝桥杯】 C++ 七段码 DFS
并查集
⭐⭐⭐
文章目录题目描述实现代码解题思路注意点知识点参考文章题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。小蓝要用七段码数码管来表示一种特殊的文字。上图给出了七段码数码管的一个图示,数码管中一共有7段可以发光的二极管,分别标记为a,b,c,d,e,f,g。小蓝要选择一部分二极管(至少要有一个)发光来表达字符。在设计字符的表达时,要求所有发光的二极管是连成一片的。例如:b发
忽而今夏&_&
·
2023-10-14 18:52
蓝桥杯
深度优先
蓝桥杯
c++
C/C++百题打卡[8/100]——七段码[不用dfs的题解、蓝桥杯2020省赛]
✅文章目录一、题目总述二、题目解析三、完整代码四、做题小结与感慨五、参考附录Sets☁️上一题链接:C/C++百题打卡[7/100]——【模板】
并查集
[洛谷].百题打卡总目录:…一、题目总述●题目难度:
一支王同学
·
2023-10-14 18:47
C/C++百题打卡专栏
c++
c语言
蓝桥杯
【蓝桥杯C++】七段码
include#include#include#includeusingnamespacestd;constintN=100;inte[N][N];intans=0;boolst[N];intp[N];//
并查集
父节点
remarkable_8
·
2023-10-14 18:17
c++
蓝桥杯
算法入门到进阶——
并查集
文章目录基本概念例题源码运行结果优化源码运行结果再优化源码运行结果基本概念
并查集
(DisjointSet)是一种非常精巧而且实用的数据结构,它主要用于处理一些不相交集合的问题。
Jacky~~
·
2023-10-14 14:47
算法入门到进阶
算法
数据结构
【数据结构】:二叉树与堆排序的实现
而叶朝下的有一个特殊的结点,称为根结点,根节点没有前驱结点除根节点外,其余结点被分成M(M>0)个互不相交的集合T1、T2、……、Tm,其中每一个集合Ti(10)棵互不相交的多颗树的集合称为森林;(数据结构中的学习
并查集
Return _My_Offer
·
2023-10-14 12:26
C语言/C++语言
大话数据结构
C++/数据结构与算法
数据结构
c语言
acwing
算法基础
之
基础算法
--整数离散化算法
目录1知识点2模板1知识点整个范围很大,但存在的数据点很少。比如从−109-10^9−109到10910^9109,但总共只有10610^6106个数。可以采用离散化的思想来做,即将离散的大数值映射成连续的小数值(一般是1,2,3,⋯ ,n1,2,3,\cdots,n1,2,3,⋯,n)。看到这里,你是不是觉得小数值与向量下标比较相似,是的,它本质就是下标,从1开始编号还是从0开始编号,取决于业务
YMWM_
·
2023-10-14 12:15
Acwing
算法
acwing
算法基础
之
基础算法
--位运算算法
目录1知识点2模板1知识点(一)n的二进制表示中第k位是0还是1,注意k从0开始编号。先把第k位移动到最后一位,即n>>k看个位是几,即x&1综合上述,即n>>k&1。(二)lowbit(x)操作,返回x的最后一位1是多少。比如x=(101000)2,则lowbit(x)=(1000)2x=(101000)_2,则lowbit(x)=(1000)_2x=(101000)2,则lowbit(x)=(
YMWM_
·
2023-10-14 12:45
Acwing
算法
acwing
算法基础
之
基础算法
--区间合并算法
目录1知识点2模板1知识点题目类型:将有交集的区间进行合并。算法步骤:先排序区间。维护一个合并区间,每次把合并区间插入到最终答案中。2模板//对segs进行区间合并操作voidmerge(vector>&segs){if(segs.size()==0){//判断传入的是否为空数组,若是,则不进行后续操作。return;}vector>res;sort(segs.begin(),segs.end()
YMWM_
·
2023-10-14 12:42
Acwing
算法
第二章
算法基础
练习2.1-1以图2-2为模型,说明INSERTION-SORT在数组A=[31,41,59,26,41,58]上的执行过程。[31,41,59,26,41,58]key=41[31,41,59,26,41,58]key=59[31,41,59,26,41,58]key=26[31,41,59,59,41,58]key=26[31,41,41,59,41,58]key=26[31,31,41,59
丶不霁何虹
·
2023-10-14 11:30
算法基础
之数组双指针(Leetcode题型归纳)
数组双指针(Leetcode题型归纳)1.前言2.双指针基础3.相向双指针3.1定义3.2真题分析3.2.1两数之和(1)3.2.2两数之和-输入有序数组(167)3.2.3三数之和(15)3.2.4最接近的三数之和(16)3.2.5四数之和(18)3.2.6盛最多水的容器(11)3.2.7有效三角形的个数(611)4.同向双指针-快慢指针4.1定义4.2真题分析4.1.1删除排序数组中的重复项(
孤岛使者
·
2023-10-14 06:55
算法基础
leetcode
算法
数组
数据结构与算法一览(树、图、排序算法、搜索算法等)- Review
算法基础
简介-OIWiki(oi-wiki.org)文章目录1.数据结构介绍1.1什么是数据结构1.2数据结构分类2.链表、栈、队列:略3.哈希表:略4.树4.1二叉树4.2B树与B+树4.3哈夫曼(霍夫曼
珞清殇
·
2023-10-14 06:48
二叉树
霍夫曼树
最小生成树
排序算法
图论
人工神经网络模型发展及应用综述
摘要:机器学习这一词不断的出现在网络上,也是近几年受欢迎的热词,而机器学习的
基础算法
就是人工神经网络,人工神经网络的研究是当下各种网络的基础,也越来越受人们的关注,现在人工神经网络的发展在当下不管是理论
자신의미래를의지한다。
·
2023-10-14 03:44
深度学习
机器学习
神经网络
算法的入门丨最基础的排序算法,选择、冒泡、插入
今天给大家带来算法的一次回忆,排序算法入门的三种
基础算法
——选择排序、冒牌排序和插入排序。选择排序选择排序,弟中弟,最没用的算法,时间复杂度非常之高,所以说这个算法是最没用的算法。
553299dc1d46
·
2023-10-14 02:33
解锁机器学习-梯度下降:从技术到实战的全面指南
二、梯度下降的数学原理代价函数(CostFunction)梯度(Gradient)更新规则代码示例:基础的梯度下降更新规则三、批量梯度下降(BatchGradientDescent)
基础算法
代码示例四、
TechLead KrisChang
·
2023-10-14 01:30
人工智能
机器学习
人工智能
算法
AcWing第二章算法模板总结——数据结构
一、链表与邻接表二、栈与队列三、KMP四、Trie树五、
并查集
六、堆七、哈希八、C++STL简介一、链表与邻接表前提注明:这里均使用数组实现,因为占用空间小,且访问快。
JoyTdt
·
2023-10-14 00:14
算法
面试必备算法模板
一、
基础算法
快速排序算法模板#include#includeusingnamespacestd;constintN=100010;intn;intq[N];voidquick_sort(intq[],intl
~Maple~
·
2023-10-14 00:14
算法与数据结构
算法
算法模板
acwing
算法基础
课-第二章 数据结构
数据结构单链表思想模板AcWing826单链表(模板题)双链表思想模板AcWing837双链表(模板题)栈模板AcWing828模拟栈(模板题)队列模板AcWing829模拟队列(模板题)单调栈模板AcWing830单调栈(模板题)单调队列模板AcWing154滑动窗口(模板题)KMP思想模板AcWing831KMP字符串(模板题)Trie模板AcWing835Tire字符串统计(模板题)AcWi
偶然路过的帅小伙z
·
2023-10-14 00:40
#
算法
-
acwing算法基础课
数据结构
算法
链表
Acwing
算法基础
课学习笔记
Acwing学习笔记第一章
基础算法
快速排序归并排序二分查找前缀和与差分差分位运算离散化第二章数据结构单链表双链表栈队列单调栈单调队列KMP算法Trie
并查集
堆哈希表第三章搜索与图论DFSBFS树与图的深度优先遍历树与图的广度优先遍历拓扑排序图论朴素
togph
·
2023-10-14 00:40
Python
算法
学习
笔记
算法基础
的数据结构模板
文章目录一、链表1.单链表2.双链表二、堆栈1.栈(1)基本特点(2)单调栈2.队列(1)基本特点(2)单调队列三、KMP字符匹配,Trie1.KMP字符匹配2.Trie四、
并查集
五、堆六、散列表1.模拟散列表
litchi&&mango
·
2023-10-14 00:36
算法基础
数据结构
算法基础
(ACWing)
算法基础
基础算法
快速排序快速排序,背一背板子。一点心得:快速排序不是稳定算法快速排序时间复杂度O(nlogn),空间复杂度是O(longn)虽然没有开辟新的空间但是递归占用了栈空间。
Krifood
·
2023-10-14 00:35
学习C++
算法
数据结构
C++ STL
算法基础
与迭代器 day16
C++STL
算法基础
与迭代器day16C++迭代器迭代器是一个类中类,通过实现运算符重载实现对象模仿指针的行为对容器进行遍历迭代器类型分为:正向迭代器:容器名::iteratoriterbegin();
[小瓜]
·
2023-10-13 20:53
励志学习C瓜瓜
c++
算法
开发语言
笔记
学习
LeetCode算法C++刷题笔记Day-01
一、
算法基础
(主题:二分查找)1.在排序数组中查找元素的第一个和最后一个位置(Q34)题目描述是:给定一个升序数组,然后找到元素在数组中的开始与结束位置,不存在元素则返回[-1,-1]解题思路肯定是双指针
EkayHwang
·
2023-10-13 09:38
算法
leetcode
c++
刷题系列总结
中常见操作的时间复杂度数据结构数组/hash表链表队列堆/优先级队列栈树图普通遍历深度优先遍历DFS广度优先遍历BFS拓扑排序/topologicalsort路径字符串前缀树/字典树/trietree回文串/Palindrome
并查集
基础算法
枚举贪心分治回溯
KpLn_HJL
·
2023-10-12 22:13
OJ题目记录
算法
ACwing
算法基础
笔记
快排(不稳定)分治时间复杂度在O(nlogn)~O(n^2)之间1.确定分界点2.调整区间3.递归(先处理左段,再处理右段)785.快速排序#includeusingnamespacestd;constintN=1e6+10;intn,q[N];voidquick_sort(intq[],intl,intr){if(l>=r)return;intx=q[(l+r)/2],i=l-1,j=r+1;w
sss-yyyy
·
2023-10-12 10:10
算法
c++
排序算法
力扣刷题记录1
广度优先搜索263树261二分查找252矩阵223数据库220二叉树217双指针205位运算194栈165堆(优先队列)158设计150图145前缀和133模拟126回溯120计数109链表102滑动窗口97
并查集
可峰科技
·
2023-10-12 10:08
C++/Qt自动化框架
leetcode
算法
c++
Acwing -
算法基础
课 - 笔记(
基础算法
· 三)
文章目录
基础算法
(三)双指针小结位运算离散化区间合并
基础算法
(三)这节讲的是双指针算法,位运算,离散化,区间合并双指针2个指针指向不同的序列比如归并排序2个指针指向同一个序列比如快速排序对于形如for(
抠脚的大灰狼
·
2023-10-12 09:03
算法
Acwing算法基础课
算法
离散化
双指针
位运算
Acwing -
算法基础
课 - 笔记(
基础算法
· 一)
文章目录
基础算法
(一)排序快排衍生题目:求第k个数归并衍生题目:逆序对的数量二分整数二分浮点数二分
基础算法
(一)本节讲解的是排序和二分,排序讲解了快排和归并,二分讲解了整数二分和浮点数二分。
抠脚的大灰狼
·
2023-10-12 09:32
算法
Acwing算法基础课
算法
acwing
算法基础
课-第一章
基础算法
基础算法
快速排序思想模板注意点AcWing785.快速排序(模板题)AcWing786.第k个数归并排序思想模板AcWing787.归并排序(模板题)AcWing788.逆序对的数量二分思路模板AcWing789
偶然路过的帅小伙z
·
2023-10-12 09:00
#
算法
-
acwing算法基础课
算法
c++
Acwing
算法基础
课-数据结构-模板习题
.单链表2.双链表二、栈1.模拟栈2.表达式求值3、单调栈三、队列1.模拟队列数组模拟:queueSTL:2、单调队列滑动窗口四、KMPkmp字符串五、Trie1.Trie字符串统计2.最大异或对六、
并查集
Yang 丶。
·
2023-10-12 09:00
c++
c语言
acwing
算法基础
课——双指针算法
AcWing799.最长连续不重复子序列给定一个长度为n的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。输入格式第一行包含整数n。第二行包含n个整数(均在0∼1050∼105范围内),表示整数序列。输出格式共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。数据范围1≤n≤105输入样例:512235输出样例:3思路:使用双指针算法,根据观察发现,当使用i,j两个快慢指
ndhw
·
2023-10-12 09:59
学习
c++
算法
【无标题】AcWing
算法基础
课——
基础算法
AcWing
算法基础
课目录1.1快速排序1.2归并排序1.3二分算法1.3.1整数二分1.3.2实数二分1.4高精度加减乘除1.4.1高精度加法1.4.2高精度减法1.4.3高精度乘法1.5前缀和与差分
霍斗
·
2023-10-12 09:59
acwing算法基础课复习
算法
AcWing
算法基础
课-双指针
双指针算法模板:for(inti=0,j=0;i#includeusingnamespacestd;intmain(){stringstr;getline(cin,str);//读入方式遇到换行停止//cin>>str遇到空格停止for(inti=0;i#includeusingnamespacestd;constintN=1e5+10;inta[N],s[N];//s[N]存储当前探索区间每个元
里屿
·
2023-10-12 09:29
AcWing算法基础课
算法
c++
c语言
【模板】ACwing
算法基础
课模板小全
一、
基础算法
快速排序算法模板voidquick_sort(intq[],intl,intr){//递归的终止情况if(l>=r)return;//选取分界线。
Zh0uKal1
·
2023-10-12 09:26
算法
C++
算法
数据结构
排序算法
ACwing
算法基础
课——
基础算法
Acwing——https://www.acwing.com/快排#includeusingnamespacestd;constintN=100001;intq[N];voidquick_sort(intq[],intl,intr){if(l>=r)return;inti=l-1,j=r+1;intx=q[(l+r)/2];while(ix);if(i>n;for(inti=0;i>q[i];qu
L1uZQ
·
2023-10-12 09:20
算法—C++
算法
c++
数据结构
acwing
算法基础
之
基础算法
--求逆序对的数目
目录1知识点2模板1知识点合并两个有序数组,对于有序数组[l,mid]和有序数组[mid+1,r],将i指向前者,将j指向后者。在将每一个j插入最终有序数组中时,计算sj=mid−i+1s_j=mid-i+1sj=mid−i+1,此为(x,nums[j])的逆序对数目。2模板//数组nums,返回数组中逆序对的数目longlongmerge_sort(vector&nums,intl,intr){
YMWM_
·
2023-10-12 09:49
Acwing
算法
数据结构
acwing
算法基础
之
基础算法
--快速选择算法
目录1知识点2模板1知识点快速选择算法基于快速排序算法,用于求解第k小的数,它的时间复杂度为O(n)。算法步骤如下:选取分界点x,设置为nums[(l+r)/2]。重排数组,使得左边部分的都小于等于x,右边部分的都大于等于x。如果k小于等于左边部分长度sls_lsl,则递归左边部分;否则递归右边部分,求第k−slk-s_lk−sl小的数。2模板//nums为原数组//返回第k小的数,k从1开始in
YMWM_
·
2023-10-12 09:49
Acwing
算法
数据结构
上一页
25
26
27
28
29
30
31
32
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他