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算法笔记
LeetCode 101:和你一起你轻松刷题(C++)总篇章正在陆续更新
文章目录第1章题目分类第2章最易懂的贪心算法2.1算法解释2.2分配问题[455.分发饼干][135.分发糖果]2.3区间问题[435.无重叠区间]43.不分行从上往下打印二叉树[803.区间合并-
AcWing
小瑞的学习笔记
·
2023-11-08 05:53
算法
leetcode
c++
贪心算法
《算法竞赛进阶指南》165 小猫爬山题解
参考内容:[洛谷][noip][算法竞赛进阶指南]小猫爬山《算法竞赛进阶指南》小猫爬山小猫爬山题目描述题目链接:https://www.
acwing
.com/problem/content/167/Freda
Guanngxu
·
2023-11-07 22:13
算法
左程云
算法笔记
总结-基础提升篇
提升01(哈希)认识哈希函数哈希函数的输入一般需要是无穷尽的,没有限制;输出可以有一定的范围,比如MD5加密后产生的字符串可以有2的32次方-1种,用十六进制表示需要16个字符。相同的输入对应相同的输出,不具有随机性因为输出域是有限的,输入域很大,说明有几率出现不同的输入有相同的输出,哈希碰撞。离散性:即使输入值非常相似,但是输出值的分布非常随机。均匀性、离散性:把所有输入值输入到哈希表中,用一个
理想三旬a
·
2023-11-07 06:53
算法
Java
算法
java
【算法| 差分 No.1】
AcWing
797. 差分 &
AcWing
798. 差分矩阵
目录一、
AcWing
797.差分解题代码二、
AcWing
798.差分矩阵解题代码一、
AcWing
797.差分原题链接:点击直接跳转到该题目关键代码:b[l]+=c;b[r+1]-=c;解
兜里有颗棉花糖
·
2023-11-07 04:12
手撕算法系列专栏
算法
矩阵
差分
《
算法笔记
》第3章(C/C++)
《
算法笔记
》第3章入门篇(1)—入门模拟3.1简单模拟1.
5solo5
·
2023-11-06 21:30
笔记
算法
c++
c语言
Java数据结构和
算法笔记
-简单排序算法
Java数据结构和
算法笔记
-简单排序算法本讲提到的排序算法都假定了数组作为数据存储结构,本讲所有算法的时间复杂度都是。
Julywhj
·
2023-11-06 21:02
java算法
排序算法
AcWing
102. 最佳牛围栏(前缀和+二分+DP)
AcWing
102.最佳牛围栏1、问题2、分析(1)暴力做法看到这道题以后,我们可以先想一个最暴力的做法,就是我们去枚举所有长度至少为FFF的区间,然后求出这个区间的和,再求出这个区间的平均值。
Turing_Sheep
·
2023-11-06 21:11
#
基础算法与数论题目
算法
[
AcWing
算法提高课]之 高阶数据结构 并查集(C++题解)
目录(一)并查集的框架(1)初始化并查集(2)find函数实现路径压缩(3)并查集的应用过程(二)不带权重并查集例题(1)亲戚(2)格子游戏(3)搭配购买(4)程序自动分析(三)带权重并查集(待补充)(1)银河英雄传说(一)并查集的框架(1)初始化并查集constintN=1e5+10;intp[N];intSize[N];intd[N];//x->其祖宗节点的距离不用初始化:全局变量默认为0vo
lihua777
·
2023-11-06 20:56
AcWing算法提高
数据结构
算法
c++
图论
拓扑学
面试准备-《算法第4版》Java
算法笔记
、理解整理
年假之前,我就规定自己要完成多少多少的任务,要做一些些有意义的事情,读书,练习,输出一些有价值的文字和笔记正是这一理念的实现,这样不仅让自己的经历更漂亮一点,也能帮助很多其他人!JVM是java程序员永远的考题,算法是所有程序员永久的考题。这应该是很多人的共识,不管是谁,学习的路上我们时常遇到迷茫阶段,抓住最根本的东西你永远不会觉得迷失。《算法(第4版)》是一本晦涩的书,特别是中文版!我要强烈吐槽
weixin_34268579
·
2023-11-06 19:19
java
面试
shell
Acwing
算法基础课----0/1背包问题的优化
0/1背包问题的优化[参考]https://www.
acwing
.com/solution/content/1374/优化思路以及代码参考上面这个链接,下面主要记录自己在写代码时的优化步骤步骤1首先要把用二维数组实现背包问题的代码写出来
T And J
·
2023-11-05 22:25
Acwing算法基础
数据结构
算法
Acwing
基础算法课day1--基础算法
Acwing
基础算法课day1--基础算法快速排序--分治(用数)思想代码归并排序--分治(数组mid)思想代码3.二分3.1整数二分思路模板3.2浮点数二分模板快速排序–分治(用数)思想1.确定分界点
weixin_46040177
·
2023-11-05 22:25
Acwing算法
算法
数据结构
Acwing
- 算法基础课 - 笔记(数据结构 · 一)
文章目录数据结构(一)链表栈和队列单调栈单调队列KMP算法数据结构(一)本节讲解的是链表与邻接表栈与队列看毛片(kmp)算法链表使用数组模拟单链表,双链表使用数组模拟的链表,为静态链表,对单链表,开2个数组,其中1个用来存每个链表节点的值,另1个数组用来存每个节点的next指针。对双链表,开3个数组,其中1个用来存每个链表节点的值,另外2个数组用来存每个节点的prev和next指针单链表,用到比较
抠脚的大灰狼
·
2023-11-05 22:55
算法
Acwing算法基础课
算法
链表
队列
数据结构
kmp算法
acwing
算法基础班学习笔记-第二讲.数据结构
一、单链表head存储头结点,e[i]存储第i个结点的值,ne[i]存储第i个结点下一个结点的结点号二、双链表在单链表的基础上,把ne数组改为l和r数组,分别用来存储第i个结点上一个结点和下一个结点的结点号。三、模拟栈数组模拟栈:新建一个数组,用tt变量表示当前栈顶。先进后出数据结构。用于表达式求值:采用两个栈,一个存放操作数,一个存放操作码,依次读入字符串,读入数字则压入操作数栈,读入字符若当前
irony_202
·
2023-11-05 22:24
数据结构
算法
学习
acwing
算法基础之数据结构--并查集算法
目录1基础知识2模板3工程化1基础知识并查集支持O(1)时间复杂度实现:将两个集合合并。询问两个元素是否在一个集合中。基本原理:每个集合用一颗树来表示。树根的编号就是整个集合的编号。每个结点存储它的父结点,p[x]表示x的父结点。问题1:如何判断树根:p[x]==x。问题2:如何求x的集合编号:while(p[x]!=x)x=p[x];。上述为朴素做法,可以通过路径压缩,进行优化。intfind(
YMWM_
·
2023-11-05 22:54
Acwing
算法
数据结构
acwing
算法基础之数据结构--trie算法
目录1基础知识2模板3工程化1基础知识trie树算法,也叫作字典树算法。用处:用来高效存储和查找字符串集合的数据结构。(一)定义变量。constintN=1e5+10;intson[N][26],cnt[N],idx;charstr[N];(二)插入操作。voidinsert(char*str){intp=0;for(inti=0;str[i];++i){intu=str[i]-'a';if(!s
YMWM_
·
2023-11-05 22:23
C++学习
算法
数据结构
acwing
算法基础之数据结构--堆算法
目录1基础知识2模板3工程化1基础知识如何手写一个堆?操作:插入一个数。heap[++size]=x;up(size);。求集合当中的最小值。heap[1]。删除最小值。heap[1]=heap[size];size--;down(1);。删除任意一个元素。heap[k]=heap[size];size--;down(k);up(k);。修改任意一个元素。heap[k]=x;down(k);up(
YMWM_
·
2023-11-05 22:19
Acwing
C++学习
算法
数据结构
C++
左程云算法学习笔记
左程云
算法笔记
学习简介认识复杂度,对数器,二分法与异或线段树(区间修改树)比较器与堆堆比较器链表常见面试题二叉树的基本算法二叉树的递归套路贪心算法(不全)并查集(不全)图的算法暴力递归暴力递归到动态规划学习简介
洋毛的尾巴
·
2023-11-05 20:21
左程云算法学习笔记
算法
左程云
算法笔记
(未完待续)
第一节课——认识时间复杂度和简单的排序算法一.时间复杂度(略)评价一个算法流程的好坏,先看时间复杂度的指标,然后再分析不同数据样本下的实际运行时间,也就是“常数项时间”。二.排序算法1.选择排序publicstaticvoidselectionSort(int[]arr){if(arr==null||arr.length<2){return;}for(inti=0;i
阿文呦
·
2023-11-05 20:50
数据结构与算法
算法
数据结构
左程云
算法笔记
(持续更新)
第一讲:时间复杂度与简单排序算法.时间复杂度的O表示一个最坏情况,上限.两个同时间复杂度的算法进行比较要实际测试·O(log2^N)默认为以2为底.异或(^)可以理解为无进位相加(可解释异或的交换性质)。·0^a=a,a^a=0.二分法不一定要在有序数组中运用(找局部最小值)用异或交换数字注意用异或的交换和结合性质理解a=a^b;b=a^b;//b=a^b^b=a^0=a;a=a^b;//a=a^
梦子清
·
2023-11-05 20:49
算法
排序算法
数据结构
左程云
算法笔记
1、认识复杂度和简单排序算法
课程链接1.认识复杂度和简单排序算法_哔哩哔哩_bilibili时间复杂度是在一个算法流程中,估计常数操作的一个指标常数时间的操作一个操作如果和样本的数据量没有关系,每次都是固定时间内完成的操作,叫做常数操作。时间复杂度为一个算法流程中,常数操作数量的一个指标。常用O(读作bigO)来表示。具体来说,先要对一个算法流程非常熟悉,然后去写出这个算法流程中,发生了多少常数操作,进而总结出常数操作数量的
Kv109A
·
2023-11-05 20:17
算法
排序算法
算法
数据结构
算法笔记
之单调栈
文章目录1.单调栈定义2.单调栈用途3.单调栈应用1.单调栈定义从栈顶到栈底的元素是严格递增或递减的栈叫单调栈2.单调栈用途可以以O(1)的时间复杂度得知某个位置左右两侧比他大(或小)的数的位置和个数3.单调栈应用每日温度(来源leetcode)描述如下:请根据每日气温列表,重新生成一个列表。对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。如果气温在这之后都不会升高,请在该位置用0来代
Zrainstar
·
2023-11-05 14:36
算法笔记
算法
栈
数据结构
stack
扩展欧几里得算法的应用-线性同余方程:
AcWing
878. 线性同余方程
#includeusingnamespacestd;typedeflonglongLL;intexgcd(inta,intb,int&x,int&y){if(b==0){x=1,y=0;returna;}intgcd=exgcd(b,a%b,y,x);y-=a/b*x;returngcd;}intmain(){intn;scanf("%d",&n);while(n--){inta,b,m;scan
三冬四夏会不会有点漫长
·
2023-11-05 10:40
算法竞赛
算法
c++
开发语言
扩展欧几里得算法
深度学习调参技巧 调参trick
|公|众|号|包包
算法笔记
|背景事情的起因其实这样,实验室老同学的论文要冲分,问我有没有啥在NN上,基本都有用的刷点方法,最好是就是短小精悍,代码量不大,不需要怎么调参。
ad110fe9ec46
·
2023-11-04 10:24
99. 激光炸弹(二维前缀和)
题目:99.激光炸弹-
AcWing
题库思路:1.矩形/正方形求最值--->二维前缀和2.注意:此题不可开两个数组,空间会爆,前缀和数组与原数据数组共用一个数组。
hz2.0
·
2023-11-04 10:21
前缀和
算法
1230. K倍区间(前缀和)
题目:1230.K倍区间-
AcWing
题库突破口:区间遍历枚举一般先枚举右端点,再枚举左端点,注意由右端点限制左端点思路:1.暴力#include#include#include#includeusingnamespacestd
hz2.0
·
2023-11-04 10:21
前缀和
c++
算法
开发语言
1015. 摘花生
题目:1015.摘花生-
AcWing
题库思路:dp代码:#include#include#includeusingnamespacestd;constintN=110;typedeflonglongll
hz2.0
·
2023-11-04 10:48
dp
动态规划
算法
AcWing
148:合并果子 ← Huffman树
【题目来源】https://www.
acwing
.com/problem/content/description/150/【题目描述】在一个果园里,达达已经将所有的果子打了下来,而且按果子的不同种类分成了不同的堆
hnjzsyjyj
·
2023-11-04 07:30
信息学竞赛
#
树与二叉树
Huffman树
leetcode数据结构和
算法笔记
JavaScript
数据结构和
算法笔记
时间复杂度和空间复杂度时间复杂度的公式是:T(n)=O(f(n)),其中f(n)表示每行代码执行次数之和,而O表示正比例关系,这个公式的全称是:算法的渐进时间复杂度常见的时间复杂度量级有
WEXIA666
·
2023-11-04 02:44
数据结构与算法
JavaScript
数据结构
算法
javascript
leetcode
300分钟搞定数据结构与
算法笔记
之02讲----高级数据结构
300分钟搞定数据结构与算法第02讲,时长30min第02讲:高级数据结构目录一、概述二、优先队列(PriorityQueue)1、特点2、应用场景3、举例:任意一个数组,找出前k大的数。4、优先队列的实现5、优先队列最基本的两个操作6、优先队列的初始化7、举例:有n个数据,需要创建一个大小为n的堆。8、例题分析:LeetCode第347题三、图(Graph)1、基本知识点2、必会知识点3、例题分
H千面
·
2023-11-04 02:41
#
数据结构与算法
Java学习
算法
队列
数据结构
java
【
算法笔记
】二分法的模板
二分法参考:labuladong算法小抄-二分算法模板1、查找一个数intbinary_search(int[]nums,inttarget){intleft=0,right=nums.length-1;while(lefttarget){right=mid-1;}elseif(nums[mid]==target){//直接返回returnmid;}}//直接返回return-1;}2、查找数的左
John-s
·
2023-11-04 01:12
算法笔记
——后序遍历 Leetcode#124
参考labuladong的博客刷一下二叉树的题目,主要是记录下来理清自己的思路,如果有需要修改的地方还请大家不吝赐教~会根据刷题数量不断更新~二叉树的遍历问题的递归框架如下:/**structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode(intx):val(x),left(NULL),right(NULL){}*};*/void
Marilynmontu
·
2023-11-04 01:06
二叉树
读书笔记——labuladong
算法笔记
读书笔记——labuladong
算法笔记
序言计算机算法世界观计算机算法方法论二叉树遍历广度遍历BFS二叉树的前中后序遍历回溯算法动态规划算法二分搜索算法其他算法滑动窗口双指针Union-Find算法序言
腾昵猫
·
2023-11-04 01:34
一些算法
算法
约数——数论算法
数论基础知识本篇文章主要讲述数论中基础算法约数部分的内容提示:本篇文章代码参考
ACWing
文章目录数论基础知识一、约数是什么?
miracle1114
·
2023-11-03 23:47
数论算法
c++
扩展欧几里得算法:
AcWing
877. 扩展欧几里得算法
#includeusingnamespacestd;intexgcd(inta,intb,int&x,int&y){if(b==0){x=1,y=0;returna;}intx1,y1,gcd;gcd=exgcd(b,a%b,x1,y1);x=y1,y=x1-a/b*y1;returngcd;}intmain(){intt;scanf("%d",&t);while(t--){inta,b,x,y;
三冬四夏会不会有点漫长
·
2023-11-03 23:12
算法竞赛
算法
c++
数据结构
【
AcWing
】
AcWing
5181. 好四和好五(秋季每日一题2023)(方程组通解)
题目https://www.
acwing
.com/problem/content/5184/数学方法问题转换问题可以转换为:∀x,y∈N+,4x+5y=N\forallx,y\inN^+,4x+5y=N
zadarmo_
·
2023-11-03 16:30
数学
算法
迭代加深-双向DFS-IDAstar
迭代加深避免搜索过深但答案在较浅的位置这种情况的发生
AcWing
170.加成序列满足如下条件的序列X(序列中元素被标号为1、2、3…m)被称为“加成序列”:1、X[1]=1X[1]=1X[1]=12、X
zzqwtc
·
2023-11-03 12:04
搜索
算法
c++
搜索
迭代加深
DFS
DFS和BFS概念及实践+
acwing
842 排列数字(dfs) +
acwing
844. 走迷宫(bfs)
DFS(深搜),也有说就是递归的执着:一直搜到底,然后回溯下一个节点数据结构:stack(这里的栈,实际上是编译器内部的栈,所以说也可以看成递归,递归内部也是调用编译器内部栈)空间:O(h)h:是高度不具有最短路性质(思路比较奇怪的,对空间要求比较高的)重要概念:回溯,剪枝BFS(宽搜)稳重:一层一层搜索数据结构:queue,空间:O(2h)h:是高度具有最短路性质(当每条路权重是1)DFS例题讲
_刘小雨
·
2023-11-03 12:01
#
算法刷题(基础模板应用)
深度优先
宽度优先
算法
【
Acwing
170】加成序列(dfs+迭代加深+剪枝)题解和一点感想
本思路来自
acwing
算法提高课题目描述看本文需要准备的知识1.dfs算法基本思想2.对剪枝这个词有个简单的认识迭代加深思想和此题分析首先,什么是迭代加深呢?
亿维数组
·
2023-11-03 12:57
Algorithm
深度优先
迭代加深
剪枝
acwing
算法
二分图(概念、相关算法和题目应用)(全面整理)
TP二分图的概念:二分图常用算法:染色法(判断一个图是否为二分图):匈牙利算法(求出二分图的最大匹配数):相应题目应用:二分图染色应用:
Acwing
:关押罪犯二分图最大匹配应用:
Acwing
:棋盘覆盖洛谷
阐上
·
2023-11-03 07:30
知识点笔记
算法
图论
二分图
染色法
c++
数据结构与
算法笔记
day14:跳表
二分查找的底层依赖的是数组随机访问的特性,那么如果数据存在链表中,我们就无法进行二分查找了吗?事实上是阔以滴。比如Redis就是通过跳表来实现的。它是一种各方面性能都比较优秀的动态数据结构,可以支持快速的插入、删除、查找操作。但是红黑树也可以呀,哼,你跳表可以的,我红黑树也可以呢!为什么Redis使用了跳表,而没有用红黑树,继续往下看~1如何理解跳表如下图,对于一个单链表来说,即便是最好的情况——
楠楠喜欢泡枸杞
·
2023-11-03 01:12
每日刷题计划Day2笔记-字符串+树
题源:
acwing
1473.A+B格式计算a+b并以标准格式输出总和----也就是说,从最低位开始每隔三位数加进一个逗号(千位分隔符),如果结果少于四位则不需添加。输入格式共一行,包含两个整数a和b。
你愿意和我一起清理内存吗?
·
2023-11-03 01:38
c++
算法
c语言
【数学模拟】
目录知识框架No.0筑基No.1辗转除法相除转换模拟数学因子分解题目来源:PTA-L1-006连续因子题目来源:
Acwing
-4484-有限小数题目来源:
Acwing
-4486-数字操作题目来源:蓝桥杯
霸时斌子
·
2023-11-02 05:17
#
题宗者-往复耶
c++
算法
图论
算法笔记
·问题 D: 例题5-1-4 连续自然数求和
题目描述输入一个正整数N,求1+2+…+N,即求要求在程序中使用break语句。输入要求输入的数据一定是一个正整数。输出计算的结果,连续N个自然数的和,末尾输出换行。样例输入100样例输出5050嗯,定义变量时初始化是个好习惯:)全局变量:函数外局部变量:函数内形式参数:函数参数的定义中声明变量所写代码:#includeusingnamespacestd;intmain(){intn,i,sum,
少年芒
·
2023-11-01 21:30
pat
算法笔记
例题5-1-1 连续自然数求和
题目描述求1+2+3+…+100,即求要求用while语句实现输入无输出要求的和,末尾输出换行。样例输入无样例输出5050错误代码:#includeusingnamespacestd;intmain(){doublex,i;i=1;while(i<=100){x=i+x;i++;}cout<
少年芒
·
2023-11-01 21:00
Acwing
.4672 布料排序(排序)
题目每块布料包含三种属性:颜色(C),一个由小写英文字母组成的字符串,表示布料的颜色。耐久性(D),一个整数,表示布料的耐久性。唯一标识符(U),一个整数,表示布料的ID。给定N块布料,阿达和查尔斯需要对布料进行排序。阿达按照颜色(C)字典序升序的顺序对布料进行排序,颜色相同的布料按唯一标识符(U)升序的顺序进行排序。查尔斯按照耐久性(D)升序的顺序对布料进行排序,耐久性相同的布料按唯一标识符(U
iAkuya
·
2023-11-01 16:56
java算法实录
算法
AcWing
94. 递归实现排列型枚举:输出1~n的全排列
题目把1∼nnn这nnn个整数排成一行后随机打乱顺序,输出所有可能的次序。输入格式一个整数nnn。输出格式按照从小到大的顺序输出所有方案,每行1个。首先,同一行相邻两个数用一个空格隔开。其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。数据范围1≤n≤91≤n≤91≤n≤9输入样例3输出样例123132213231312321思路该问题也被称为全排列问题,所有可能的方案总数是n!
明朗晨光
·
2023-11-01 15:41
算法竞赛进阶指南
#
AcWing
深度优先
递归
全排列
算法笔记
.胡凡 第九章 二叉树
9.1树与二叉树二叉树的存储structnode{typenamedata;node*lchild;node*rchild;};新建节点node*newNode(intv){node*Node=newnode;Node->data=v;Node->lchild=Node->rchild=NULL;returnNode;}二叉树的查找voidsearch(node*root,intx,intnewd
dream or nightmare
·
2023-11-01 13:03
算法笔记胡凡
c++
pat
二叉树
算法笔记
pat
《
算法笔记
》9.7 堆
9.7堆9.7.1堆的定义与基本操作堆是一棵完全二叉树,树中每个结点的值都不小于(或不大于)其左右孩子结点的值。其中,如果父亲结点的值大于或等于孩子结点的值,那么称这样的堆为大顶堆,这时,每个结点的值都是以它为根结点的子树的最大值。相反,则为小顶堆。那么对于一个给定的初始序列,怎样把它建成一个堆呢?从最后一个元素开始,从下往上,从右往左。假设当前元素X,让x与X的孩子结点比较,如果发现比X更大的元
pumpkin9841
·
2023-11-01 13:55
算法笔记
算法
数据结构
c++
树结构
堆栈
acwing
算法基础之数据结构--KMP算法
目录1知识点2模板1知识点KMP算法已经集成到string类型的find()方法了,但这里我们不用这个,我们自己来实现这个方法。KMP算法的关键步骤:p[N]表示输入模式串,求取该模式串的ne[]数组。ne[i]表示前缀等于后缀的长度,且它最长。也即p[1,j]=p[i-j+1,i]。循环目标串s[M],利用ne[]数据,得到完全匹配模式串的下标位置,并输出。//步骤(1)for(inti=2,j
YMWM_
·
2023-11-01 01:11
Acwing
算法
数据结构
算法笔记
【3】-冒泡排序法
文章目录一、原理二、代码实现三、算法特点一、原理冒泡排序是一种简单但有效的排序算法,它可以用于对数字进行升序排序。该算法通过多次比较相邻元素并交换位置来实现排序的目的。冒泡排序的基本思想是从第一个元素开始,依次比较相邻的两个元素,如果顺序不正确,则交换它们的位置。这样一轮比较下来,最大(或最小)的元素就会“冒泡”到最后。然后,再从剩下的元素中重复这个过程,直到所有元素都排好序为止。其算法流程如下图
>_·
2023-11-01 00:17
算法
笔记
排序算法
matlab
c语言
学习
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
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
其他