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
acwing周赛
AcWing
:并查集
并查集理论基础并查集的作用是什么:将两个集合合并。询问两个元素是否在一个集合当中。如果不使用并查集,要完成上述两个操作,我们需要:创建一个数组来表示某个元素在某个集合之中,如belong[x]=a,即x元素在a集合之中。那么完成第二个操作“询问两个元素是否在同一个集合”的时间复杂度为O(1),我们只需:判断if(belong[x]==belong[y])但是将两个集合合并的效率取决于两个集合中较短
clementines_
·
2024-01-09 17:17
c++
算法
数据结构
AcWing
836.合并集合(并查集)
题目(并查集好像面试挺爱考的,代码短还有思维)思路if(p[a]!=a)p[a]=find(p[a]);判断2个数是否属于同一个集合,只需要判断其根节点是否一样如果递归求根节点,会很慢,所以涉及了并查集的优化,如果不是根节点的话,可以直接一步求出根节点`也就是把a节点所在的树的根节点的值赋给a所在树的根节点,就是找到a所在树的根节点p[find(a)]=find(b)表示,将b节点所在的树连接在以
少女的英雄梦312
·
2024-01-09 17:15
练习题
acwing
836. 合并集合(并查集)
思路并查集可以判断连通块的数量,可以判断集合的大小。代码#includeusingnamespacestd;#definedbdouble#definelllonglong#definePirpair#definefifirst#definesesecond#definepbpush_back#definem_pmake_pair#defineinf0x3f3f3f3f#defineINF0x3f
做一只大熊猫
·
2024-01-09 17:45
#
并查子集
图论
算法
java
并查集(
ACWING
三道题)
1.适用题型在我个人理解,并查集是用于解决这样的问题:题目中的数据分多个集合,并且有合并的可能,有时需要查找两个元素是不是在同一集合,以及该集合中所有元素的数量。有时也需要通过两个元素在同一集合中的位置,来确定这两个元素之间的关系,2.并查集的核心函数朴素并查集:这种并查集只需要两个功能:合并和查找祖宗结点。需要的基本数据结构:p[N],用来存储每一个下标的父亲结点。查找函数intfind(int
阳光.
·
2024-01-09 17:45
算法打怪升级之路
图论
c++
数据结构
AcWing
|【并查集】合并集合
题目内容一共有n个数,编号是1~n,最开始每个数各自在一个集合中。现在要进行m个操作,操作共有两种:“Mab”,将编号为a和b的两个数所在的集合合并,如果两个数已经在同一个集合中,则忽略这个操作;“Qab”,询问编号为a和b的两个数是否在同一个集合中;输入格式第一行输入整数n和m。接下来m行,每行包含一个操作指令,指令为“Mab”或“Qab”中的一种。输出格式对于每个询问指令”Qab”,都要输出一
Leonadoice
·
2024-01-09 17:15
算法训练营
AcWing
|【并查集】食物链
题目内容动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B,B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是”1XY”,表示X和Y是同类。第二种说法是”2XY”,表示X吃Y。此人对N个动物,用上述两种说法,一句接一句地说出K句话,这K句话有的是真的,
Leonadoice
·
2024-01-09 17:15
算法训练营
acwing
算法基础课:并查集
并查集模板作用:1.将两个集合合并2.询问两个元素是否在同一个集合中近乎O(1)时间复杂度完成上述操作基本原理:每个集合用一棵树表示,树根的编号就是整个集合的编号。每个节点存储它的父节点,p[x]表示x的父节点(1)朴素并查集:intp[N];//存储每个点的祖宗节点//返回x的祖宗节点intfind(intx){if(p[x]!=x)p[x]=find(p[x]);returnp[x];}//初
墨染&殇泪
·
2024-01-09 17:14
acwing
#
数据结构
算法
AcWing
836. 合并集合(并查集)
作用:高效的合并两个集合和查询两个元素是否在同一个集合,时间复杂度近O(1);原理:每个集合用一颗树来表示,树根的编号就是整个集合的编号,每个节点存储他的父节点。#includeusingnamespacestd;constintN=100010;intp[N];intfindd(intx){while(p[x]!=x){x=p[x];}returnx;}intmain(){ios::sync_w
秘制函数
·
2024-01-09 17:44
数据结构
算法
c++
数据结构
银河英雄传说
acwing
-238 并查集
题面链接:238.银河英雄传说-
AcWing
题库题面:思路:并查集,如果没有求两艘战舰之间的战舰数量,这就是一题很简单的并查集但是这题需要计算两艘战舰之间的数量,我们就需要维护一个d数组,保存的是当前战舰到战舰头的距离
Evil_boy__
·
2024-01-09 17:14
c++
数据结构
并查集
Acwing
并查集学习记录
Acwing
1250.格子游戏题意:输入:矩阵长宽为n,m次操作输出:输出一行:在第几步的时候结束。假如m步之后也没有结束,则输出一行“draw”。
haniwn
·
2024-01-09 17:13
笔记
算法
AcWing
-并查集-合并路径
文章目录并查集
acwing
-836合并路径并查集将两个集合合并询问两个元素是否在一个集合当中O(1)近乎O(1)基本原理:每个集合用一棵树来表示,树根的编号就是整个集合的编号。
superkcl2022
·
2024-01-09 17:13
#
AcWing
算法
数据结构
acwing
字典树/前缀树(Trie)
目录
AcWing
835.Trie字符串统计
AcWing
143.最大异或对lc上前缀树实现(节点型)树中为每个节点编号,每条路径表示一个原始元素,如:节点为字符,原始元素为字符串,或:节点为比特位,原始元素为一个数因为会使用节点编号查询存储矩阵的行位置所以存储矩阵的行数开可能的最多的节点个数
honortech
·
2024-01-09 17:43
算法
acwing
KMP算法
【数据结构】KMP算法(详解)#include#include#includeusingnamespacestd;constintN=1e6+10;intn1,n2;chars1[N],s2[N];vectornext_val(N);voidget_next(){//next数组中的元素为最长比配前缀的下标//这里下标从一开始,无匹配前缀的元素为0//这里的前缀匹配字符为j的下一个字符,j从0开始
honortech
·
2024-01-09 17:12
算法
AcWing
算法基础 并查集
并查集并查集解决的问题将两个集合合并询问两个元素是否在一个集合中基本原理用树的形式来维护每个集合,树根的编号就是整个集合的编号,每个节点存储他的父节点,p[x]表示x的父节点问题1,如何判断树根:if(p[x]==x);问题2,如何求x集合的编号:while(p[x]!=x)x=p[x];问题3,如何合并两个集合,px是x集合的编号,py是y的集合编号,令p[x]=y。问题2优化:某个节点找到根节
mu6y
·
2024-01-09 17:40
算法
算法
数据结构
算法学习周记4(
acwing
并查集、二分)
acwing
——836合并并查一共有nn个数,编号是1∼n1∼n,最开始每个数各自在一个集合中。
whisper_cxl
·
2024-01-09 17:10
算法
学习
acwing
并查集
目录并查集的路径压缩两种方法法一法二
AcWing
240.食物链
AcWing
837.连通块中点的数量示例并查集自写并查集并查集的路径压缩两种方法法一沿着路径查询过程中,将非根节点的值都更新为最后查到的根节点
honortech
·
2024-01-09 17:08
数据结构
c++
算法
【LeetCode
周赛
】第379场
周赛
LeetCode第379场
周赛
100170.对角线最长的矩形的面积简单100187.捕获黑皇后需要的最少移动次数中等100150.移除后集合的最多元素数中等100170.对角线最长的矩形的面积简单100170
爱喝牛奶的男孩
·
2024-01-09 06:54
LeetCode
leetcode
算法
职场和发展
【LeetCode
周赛
】第373场
周赛
LeetCode第373场
周赛
2946.循环移位后的矩阵相似检查简单2947.统计美丽子字符串I中等2948.交换得到字典序最小的数组中等2949.统计美丽子字符串II困难2946.循环移位后的矩阵相似检查简单
爱喝牛奶的男孩
·
2024-01-09 06:53
LeetCode
leetcode
算法
【LeetCode双
周赛
】第 118 场双
周赛
LeetCode第118场双
周赛
2942.查找包含给定字符的单词简单2943.最大化网格图中正方形空洞的面积中等2944.购买水果需要的最少金币数中等2942.查找包含给定字符的单词简单2942.查找包含给定字符的单词分析
爱喝牛奶的男孩
·
2024-01-09 06:23
LeetCode
leetcode
算法
2172. Dinic/ISAP求最大流 (Dinic算法)
2172.Dinic/ISAP求最大流-
AcWing
题库给定一个包含n个点m条边的有向图,并给定每条边的容量,边的容量非负。图中可能存在重边和自环。求从点S到点T的最大流。
Landing_on_Mars
·
2024-01-08 21:13
#
网络流问题
算法
网络流
【动态规划】数位统计DP
(2)将t每一位数据抠出来,然后一位一位数字进行考虑,按照树的结构进行考虑,如下图(图片来源:网址):2.
AcWing
上的数位统计
你好世界wxx
·
2024-01-08 21:30
算法
动态规划
第五章 动态规划(8):数位DP模型
1、计数问题
ACWing
338算法思路:一定要分情况讨论首先,题目要求在[a,b]中0~9这10个数中分别出现的次数,那么我们先实现一个函数count(n,x)
路哞哞
·
2024-01-08 21:28
算法笔记
动态规划
算法
c++
Leetcode 第 121 场双
周赛
Problem D 统计强大整数的数目(Java + 记忆化搜索的数位 DP 模板 + 特判)
文章目录题目思路Java+记忆化搜索的数位DP模板+特判第1步:第2步:第3步:复杂度Code题目Problem:100163.统计强大整数的数目给你三个整数start,finish和limit。同时给你一个下标从0开始的字符串s,表示一个正整数。如果一个正整数x末尾部分是s(换句话说,s是x的后缀),且x中的每个数位至多是limit,那么我们称x是强大的。请你返回区间[start…finish]
专注如一
·
2024-01-08 20:10
LeetCode
leetcode
java
算法
LeetCode 第379场
周赛
个人题解
100170.对角线最长的矩形的面积题目描述给你一个下标从0开始的二维整数数组dimensions。对于所有下标i(0>&dimensions){intma1=0,ma2=0;for(auto&v:dimensions){if(ma1&nums1,vector&nums2){unordered_sets1(nums1.begin(),nums1.end()),s2(nums2.begin(),nu
EQUINOX1
·
2024-01-08 14:50
Leetcode周赛
leetcode
算法
职场和发展
[LeetCode
周赛
复盘] 第 379 场
周赛
20240107
[LeetCode
周赛
复盘]第379场
周赛
20240107一、本周
周赛
总结100170.对角线最长的矩形的面积1.题目描述2.思路分析3.代码实现100187.捕获黑皇后需要的最少移动次数1.题目描述2
七水shuliang
·
2024-01-08 12:03
力扣周赛复盘
leetcode
算法
职场和发展
欧拉函数算法总结
例题展示欧拉函数题目链接活动-
AcWing
系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.
acwing
.com/problem
ykycode
·
2024-01-08 08:06
经典算法总结
数论
算法
欧拉函数
数学
数论
线性筛法
欧拉定理
费马小定理
AcWing
998. 起床困难综合症
原题链接其实上面这一堆就是想说,输入n,m以及n个数和该数所对应的运算,其中运算包括有与、或、异或三种,真正的问题就是在所有不大于m的数(非负数)中,对给定的n个数都按该数所对应的运算运算一遍后,能得到得最大的值是多少。AND表示按位与,OR表示按位或,XOR表示按位异或AcceptedCode:#include#include#includeusingnamespacestd;constintN
青春pig头少年
·
2024-01-08 08:25
AADS
算法
c++
数据结构
商务礼仪密训复盘
经过21天对礼仪的学习,参加
周赛
,半决赛总决赛,层层的磨练比赛,边学边不断打磨课程。充分的掌握知识,从对礼仪的认识到24项礼仪精修,再到职业形象打造,以及心态的修炼。
霍月
·
2024-01-08 06:20
试除法求约数算法总结
例题展示题目链接活动-
AcWing
系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。
ykycode
·
2024-01-07 15:47
经典算法总结
数论
算法
试除法
数学
数论
约数
试除法求约数
约数个数和约数之和算法总结
例题展示约数个数题目链接活动-
AcWing
系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。https://www.
acwing
.com/prob
ykycode
·
2024-01-07 15:47
经典算法总结
数论
算法
数学
试除法
约数个数
约数之和
数论
约数
筛质数算法总结
题目链接活动-
AcWing
系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。
ykycode
·
2024-01-07 15:46
经典算法总结
数论
算法
筛质数
数论
质数
数学
埃氏筛法
线性筛法
欧几里得算法总结
例题展示题目链接活动-
AcWing
系统讲解常用算法与数据结构,给出相应代码模板,并会布置、讲解相应的基础算法题目。
ykycode
·
2024-01-07 15:40
经典算法总结
数论
算法
欧几里得算法
辗转相除法
数论
数学
第 378 场 LeetCode
周赛
题解
A检查按位或是否存在尾随零枚举:枚举两个元素的组合即可classSolution{public:boolhasTrailingZeros(vector&nums){intn=nums.size();for(inti=0;i>li(26);for(inti=0,j=0;i=len)cnt+=blk-len+1;if(cnt>=3)returntrue;}returnfalse;};while(l>l
xhchen2023
·
2024-01-07 15:29
LeetCode
leetcode
算法
模拟
二分
前缀和
字符串哈希
第 120 场 LeetCode 双
周赛
题解
A统计移除递增子数组的数目I同t3…当然直接枚举更简单classSolution{public:longlongincremovableSubarrayCount(vector&nums){intn=nums.size();intl=0;//nums[0,r]递增while(l+1&nums){llres=INT64_MIN;sort(nums.begin(),nums.end());lls=nu
xhchen2023
·
2024-01-07 15:28
LeetCode
leetcode
算法
二分
dfs
排序
第 121 场 LeetCode 双
周赛
题解
A大于等于顺序前缀和的最小缺失整数模拟:先求最长顺序前缀的和sss,然后从sss开始找没有出现在numsnumsnums中的最小整数classSolution{public:intmissingInteger(vector&nums){unordered_setvis(nums.begin(),nums.end());ints=nums[0];inti=0;while(i+1&nums,intk)
xhchen2023
·
2024-01-07 15:56
LeetCode
leetcode
算法
职场和发展
AcWing
1725 组队井字游戏 题解(春季每日一题)
AcWing
1725组队井字游戏思路很简单,我的实现代码太过复杂,下面放的有y总的简洁版代码#includeusingnamespacestd;typedefpairPCC;intans,res;charg
QingQingDE23
·
2024-01-07 15:41
每日一题
算法
AcWing
1082 数字游戏 题解(动态规划—DP—数位DP)
原题传送门#includeusingnamespacestd;constintN=15;inta,b,n;intf[N][N];//表示一共有i位,最高位为j的数的个数voidinit(){for(inti=0;inum;while(n){//把n逆序存储,这样从最高位开始遍历num时,后一位就是他的低位,符合题意num.push_back(n%10);n/=10;}intres=0;//记录方案
QingQingDE23
·
2024-01-07 15:11
动态规划-DP
动态规划
算法
AcWing
1084 数字游戏 II 题解(实体规划—DP—数位DP)
原题传送门#includeusingnamespacestd;constintN=11,M=110;intP;intf[N][10][M];//f[i][j][k]表示i位数字,最高位为j,modN为k的数字的个数intmod(intx,inty){return(x%y+y)%y;}voidinit(){memset(f,0,sizeof(f));//因为有多组测试样例,所以每次调用f需要初始化为
QingQingDE23
·
2024-01-07 15:11
动态规划-DP
游戏
动态规划
算法
AcWing
1695 果壳游戏 题解(春季每日一题)
有一些思维的简单模拟原题#includeusingnamespacestd;constintN=110;intn;intans;//记录最大分数inta[N],b[N],c[N];boolit[N];//记录石子在哪intmain(){cin>>n;for(inti=1;i>a[i]>>b[i]>>c[i];}for(inti=1;i<=n;i++){//猜石头在哪个盒子下面intcnt=0;//
QingQingDE23
·
2024-01-07 15:11
每日一题
算法
蓝桥杯
AcWing
323 战略游戏 题解(动态规划—DP—树形DP)
原题传送门#includeusingnamespacestd;constintN=1510;intn;inte[N],h[N],ne[N],idx;intf[N][2];/*f[i][0]表示第i个节点没有放士兵时,以i为根节点的子树所含的最小士兵数f[i][1]表示第i个节点放士兵时,以i为根节点的子树所含的最小士兵数*/boolst[N];voidadd(inta,intb){e[idx]=b
QingQingDE23
·
2024-01-07 15:40
动态规划-DP
动态规划
游戏
算法
蓝桥杯备赛系列 高精度
acwing
版
前言hello,好久不见。元旦玩过后该收心了,我也倒计时一下蓝桥杯考试时间,大家一起复习,一起登顶。今天讲解高精度算法。这个算法其实是给学c++同学讲的,因为python自带高精度所以不需要,且我讲到所有内容都是c++版本,今年就要报考c++,今年学好了Java可以上Java内容。不多bb了上正文正文先介绍一下为什么要用高精度。int:通常,int类型的大小是依赖于特定平台的,常见的有16位(2字
Beatmyselfonce
·
2024-01-07 14:55
蓝桥杯
职场和发展
【基础算法笔记】Prim,Kruskal,匈牙利算法
在
acwing
上学习算法的一点思考与总结匈牙利算法这个算法是个很有趣的算法,也很好用。引用
acwing
一句高赞评论:匈牙利算法准则:待字闺中,据为己有;名花有主,求他放手。
Radein
·
2024-01-07 08:48
算法
图论
笔记
c++
【基础算法笔记】贪心算法中的区间问题
在
acwing
上学习算法的一点思考和总结感受:贪心算法难在他的证明,很多时候我们都是有一个感觉,然后去猜是否能用贪心做,借助几个实例去证明贪心算法的正确性。
Radein
·
2024-01-07 08:48
算法
贪心算法
学习
c++
笔记
【基础算法笔记】dp(背包问题)
在
acwing
上学习算法时的一点思考与总结。如何理解dp思路:动态规划解决问题的方式就是将一个大问题分解成多个子问题。每个子问题的决策都会影响下一个子问题的决策,也就是i状态会受到i-1状态的影响。
Radein
·
2024-01-07 08:18
笔记
算法
c++
【算法笔记】BFS(走迷宫,八数码)
Acwing
yydsBFS(宽度优先遍历)与深度优先搜索一条路走的死的方式不同,宽度优先遍历是一层一层来搜,当一层的节点被搜索完成后,才会进入下一层。
Radein
·
2024-01-07 08:18
算法
笔记
宽度优先
洛谷 P1086:花生采摘 ← 结构体
【题目来源】https://www.luogu.com.cn/problem/P1086https://www.
acwing
.com/problem/content/description/420/【题目描述
hnjzsyjyj
·
2024-01-07 05:43
信息学竞赛
#
基础语法
结构体
第121场双
周赛
题解:揭秘算法竞赛中的数位挑战与解题策略
需要多掌握解题套路比赛地址100157.大于等于顺序前缀和的最小缺失整数classSolution:defmissingInteger(self,nums:List[int])->int:#Step1:Findthelongestconsecutiveprefixi=0foriinrange(1,len(nums)):ifnums[i]!=nums[i-1]+1:breakelse:#Handle
数据与后端架构提升之路
·
2024-01-07 04:17
#
算法
算法
Leetcode 第 375 场
周赛
题解
Leetcode第375场
周赛
题解Leetcode第375场
周赛
题解题目1:2960.统计已测试设备思路代码复杂度分析题目2:2961.双模幂运算思路代码复杂度分析题目3:2962.统计最大元素出现至少
UestcXiye
·
2024-01-06 20:57
Every
day
a
LeetCode
leetcode
C++
数据结构与算法
快速幂
滑动窗口
合并区间
模拟
Leetcode 超难题目 Hard
动态规划2945.找到最大非递减数组的长度(难度分2943,“超难”)这道题很有可能是LC主站(LCP除外)新的天花板,之所以难度分没有超过1719题,是因为双
周赛
样本量本身不多,而这题有一定的“猜结论
Yake1965
·
2024-01-06 11:12
算法精选
leetcode
算法
职场和发展
队列中可以看到的人数(单调栈+双
周赛
57_4)
文章目录1.题目来源2.题目解析1.题目来源链接:1944.队列中可以看到的人数2.题目解析单调栈裸题。和朴素的找他右边的第一个比它高的数不太一样,因为对于样例一而言,编号3是看不到的。但不难发现,从后至前维护一个单调递增栈,对于当前元素而言,比它小的栈中元素就是它能看到的元素,也就是维护单调递增栈时的出栈元素个数。故维护过程中记录下出栈元素个数即可。注意,当栈不为空时,说明栈中存在一个比当前元素
Ypuyu
·
2024-01-06 05:12
LeetCode
上一页
10
11
12
13
14
15
16
17
下一页
按字母分类:
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
其他