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算法学习
Python 和 Java 代码实现:黄金分割法求解一维最优化问题
黄金分割法求解一维最优化问题问题描述区间消去法黄金分割法代码实现Python代码Java代码求解实例开启一个新系列的学习,这位大佬的文章写的很通透,且有代码实践,个人觉得只有自己把代码写出来了才是真的会了,我对自己的
算法学习
要求也是这样的
twinkle 222
·
2024-02-10 03:00
运筹优化学习专栏
python
java
开发语言
Acwing
--845. 八数码(BFS)
在一个3×3的网格中,1∼8这8个数字和一个x恰好不重不漏地分布在这3×3的网格中。例如:123x46758在游戏过程中,可以把x与其上、下、左、右四个方向之一的数字交换(如果存在)。我们的目的是通过交换,使得网格变为如下排列(称为正确排列):12345678x例如,示例中图形就可以通过让x先后与右、下、右三个方向的数字交换成功得到正确排列。交换过程如下:123123123123x464x6456
wowon~
·
2024-02-10 01:28
搜索技术
算法
c++
BFS
【算法】基础算法
算法学习
的目标●通过掌握算法设计的方法论,设计正确高效的算法。●通过分析比较算法运行效率,判断哪个算法更高效。算法的语言●伪代码(结合程序语言和自然语言,不注重程序语言的具体细节,更简单方便。
琛:D
·
2024-02-09 22:13
算法
算法
AcWing
1224 交换瓶子(简单图论)
[题目概述]有N个瓶子,编号1∼N,放在架子上。比如有5个瓶子:21354要求每次拿起2个瓶子,交换它们的位置。经过若干次后,使得瓶子的序号为:12345对于这么简单的情况,显然,至少需要交换2次就可以复位。如果瓶子更多呢?你可以通过编程来解决。输入格式第一行包含一个整数N,表示瓶子数量。第二行包含N个整数,表示瓶子目前的排列状况。输出格式输出一个正整数,表示至少交换多少次,才能完成排序。数据范围
techpupil
·
2024-02-09 22:05
图论
算法
数据结构
线性表的顺序结构—顺序表
###青岛大学王卓的数据结构与
算法学习
###以及CSDN的优质文章为了帮助个位能够更好的理解一些操作的原因,我在这里就引入我学习时看过的相关文章,希望对你有所帮助:1.C语言*p、p以及&p的区别,*p
MADAO_luv
·
2024-02-09 17:32
数据结构
c语言
数据结构
AcWing
5147. 数量 题解
题目描述:请你统计,1~n的范围内一共有多少个正整数满足其十进制表示不含4和7以外的数字。样例:输入数据:4输出数据:1思路讲解:暴力dfs即可,存一个当前遍历到的变量,如果大于n就return,否则继续搜索。对于下一步只有两种可能,一种是在末尾添加一个4,另一种则是在末尾添加一个7。C++代码:#includeusingnamespacestd;longlongn;inttot=0;voiddf
gu_zhou_suo_li_weng
·
2024-02-09 16:38
深度优先
DFS——C++
具体算法讲解可以参考https://blog.csdn.net/qq_63055790/article/details/133961017例题:https://www.
acwing
.com/activity
松定
·
2024-02-09 13:28
深度优先
c++
算法
【算法集训专题攻克篇】第五篇之双指针
《算法集训传送门》 引言铭记于心✨我唯一知道的,便是我一无所知✨❄️我们的算法之路❄️ 众所周知,作为一名合格的程序员,算法能力是不可获缺的,并且在
算法学习
的过程中我们总是能感受到算法的✨魅力✨。
梦想new的出来
·
2024-02-09 09:04
算法集训
算法
c++
深度优先
C++算法之树状数组与线段树
AcWing
1264.动态求连续区间和详细题解
AcWing
,题解,动态求连续区间和,https://www.
acwing
.com/solution/content/7526/一、树状数组1.
AcWing
1264
算法下的星辰曲
·
2024-02-09 09:02
蓝桥杯
c++
开发语言
C++算法之数学与简单DP
1.
AcWing
2.01背包问题分析思路代码实现#includeusingnamespacestd;constintN=1010;intdp[N][N];intv[N],w[N];intn,m;intmain
算法下的星辰曲
·
2024-02-09 09:31
蓝桥杯
c++
开发语言
C++算法之枚举、模拟与排序
1.
AcWing
1210.连号区间数分析思路由题意是在1∼N的某个排列中有多少个连号区间,所以每个数出现并且不重复!
算法下的星辰曲
·
2024-02-09 09:31
蓝桥杯
算法
c++
C++算法之二分与前缀和(2)
1.
AcWing
795.前缀和分析思路由数列的前n项和可知,s[i]=a[i]+s[i-1],如果我们要计算[l,r]的和,可用公式s[r]-s[l-1]!
算法下的星辰曲
·
2024-02-09 09:01
蓝桥杯
c++
开发语言
AcWing
803. 区间合并
原题链接:
AcWing
803.区间合并https://www.
acwing
.com/problem/content/805/解题思路:①按左端点对区间进行排序。
算法下的星辰曲
·
2024-02-09 09:00
算法基础课
算法
c++
C++算法之递归与递推(2)
二、递推(与递归相反,先求出子问题再去算出原问题)1.
AcWing
717.简单斐波那契分析过程先定义f(1)和f(2)作为边界,然后f(n)=f(n-1)+f(n-2),此题可以直接用滚动数组的雏形来算
算法下的星辰曲
·
2024-02-09 09:30
蓝桥杯
算法
c++
数据结构
C++算法之双指针、BFS和图论
一、双指针1.
AcWing
1238.日志统计分析思路前一区间和后一区间有大部分是存在重复的我们要做的就是利用这部分来缩短我们查询的时间并且在使用双指针时要注意对所有的博客记录按时间从小到大先排好顺序因为在有序的区间内才能使用双指针记录两个区间相差相当于把一个有序的时间序列进行每次递增
算法下的星辰曲
·
2024-02-09 09:28
c++
宽度优先
图论
【
算法学习
】编程中的位运算
位运算位运算是直接对二进制的每一位进行逻辑操作的运算方式用途:位运算一般用于考察异或的性质、状态压缩、与位运算相关的特殊数据结构、构造题等。基本的位运算共6种,分别为按位与、按位或、按位异或、按位取反、左移和右移。按位与&两个数字与运算的结果不会变小按位或|两个数字或运算的结果不会变小异或^两个数字进行异或运算,结果可能变大,也可能变小,也可能不变。异或的性质//交换律x^y=y^x//结合律x^
lcx_defender
·
2024-02-09 07:48
算法学习
算法
朴素dijkstra算法 :
AcWing
849. Dijkstra求最短路 I
Dijkstra算法分析:(适用于稠密图,边权非负图)Dijkstra算法的流程如下:Dijkstra算法基于贪心思想,它只适用于所有边的长度都是非负数的图。当边长z都是非负数时,全局最小值不可能再被其他节点更新,故在第1步中选出的节点x必然满足:dist[x]已经是起点到x的最短路径。我们不断选择全局最小值进行标记和扩展,最终可得到:起点1到每个节点的最短路径的长度。(求得起点到所有终点的最短路
Brightess
·
2024-02-09 05:58
图论
最短路问题
算法
图论
AcWing
1238 日志统计(双指针算法)
题目概述小明维护着一个程序员论坛。现在他收集了一份”点赞”日志,日志共有N行。其中每一行的格式是:tsid表示在ts时刻编号id的帖子收到一个”赞”。现在小明想统计有哪些帖子曾经是”热帖”。如果一个帖子曾在任意一个长度为D的时间段内收到不少于K个赞,小明就认为这个帖子曾是”热帖”。具体来说,如果存在某个时刻T满足该帖在[T,T+D)[T,T+D)[T,T+D)这段时间内(注意是左闭右开区间)收到不
techpupil
·
2024-02-09 04:04
双指针
算法
AcWing
1101 献给阿尔吉侬的花束(bfs宽搜)
[题目概述]阿尔吉侬是一只聪明又慵懒的小白鼠,它最擅长的就是走各种各样的迷宫。今天它要挑战一个非常大的迷宫,研究员们为了鼓励阿尔吉侬尽快到达终点,就在终点放了一块阿尔吉侬最喜欢的奶酪。现在研究员们想知道,如果阿尔吉侬足够聪明,它最少需要多少时间就能吃到奶酪。迷宫用一个R×CR×CR×C的字符矩阵来表示。字符S表示阿尔吉侬所在的位置,字符E表示奶酪所在的位置,字符#表示墙壁,字符.表示可以通行。阿尔
techpupil
·
2024-02-09 04:33
宽度优先
算法
算法学习
打卡day45|动态规划:股票问题总结
Leetcode股票问题总结篇动态规划的股票问题一共六道题,买卖股票最佳时机和买卖股票手续费都是一个类型的问题,维护好买入和卖出两个状态即可,方法一摸一样。而冷冻期也差不多就是状态多了点,买入、保持卖出、当日卖出、以及冷冻期四个状态。做题方法还是动态规划五部曲:明确dp数组含义,这里六道题全部第i天都是手里买入状态或者卖出状态的现金数是多少,这篇文章下标0代表未持有,下标1代表持有。写出递推公式,
涛涛begin
·
2024-02-09 00:46
算法学习打卡
算法
学习
动态规划
算法学习
打卡day46|动态规划:子序列问题
一般情况下一但涉及到连续子数组问题,通常dp数组存的是中间状态,我们需要用result每次取获取结果,而相对顺序的话不需要result,每次取最大值即可
涛涛begin
·
2024-02-09 00:16
算法学习打卡
算法
动态规划
算法学习
打卡day44|动态规划:打家劫舍问题
打家劫舍力扣题目链接题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你不触动警报装置的情况下,一夜之内能够偷窃到的最高金额。示例1:输入:[1,2,3,1]输出:4解释:偷窃1号房屋(金额=1),然后偷窃3
涛涛begin
·
2024-02-09 00:45
算法学习打卡
算法
学习
动态规划
算法学习
打卡day47|单调栈系列题目
单调栈题目思路通常是一维数组,要寻找任一个元素的右边或者左边第一个比自己大或者小的元素的位置,此时我们就要想到可以用单调栈了。时间复杂度为O(n)。单调栈的本质是空间换时间,因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素,优点是整个数组只需要遍历一次。单调栈解题步骤建立一个栈,然后从头遍历元素。既然为单调栈,那么肯定分为单调递增栈和单调递减栈(这里的单调递增或者递减指的是从栈顶到
涛涛begin
·
2024-02-09 00:43
算法学习打卡
算法
学习
P3870 [TJOI2009] 开关
luogu.com.cn)看C艹书看不下去,就到洛谷上随机抽一道题做一道线段树的问题实际上,关于线段树的知识是我现学的(我树的知识都不知道,乐)总结来说,比较重要的就是“懒标记”,加上传值和读取以及构建树的相应操作
算法学习
网址如下
Fool256353
·
2024-02-08 14:55
算法
容斥原理级笔记
容斥原理:|s1⋃s2⋃s3……⋃sn|=|s1|+|s2|+……|s3|-|s1⋂s2|-……+|s1⋂s2⋂s3|+……应用一(基础):
AcWing
能被整除的数思路:(1)容斥原理的直接应用。
奔跑的星黛露
·
2024-02-08 09:55
算法
算法
第二讲:数据结构
AcWing
826. 单链表
目录数组模拟链表数组模拟单链表单链表思路&&代码看图更好理解推荐一下y总的刷题网站数组模拟链表笔试的题目大部分大部分涉及到链表都是十万级别的用数组的方式创建链表速度很快,不会超时,而如果用new一个结构体的话大部分就是比较慢的所以不建议使用数组模拟单链表单链表在笔试题中用的最多是领接表领接表最多的应用是存储数和图双链表最多的应用就是来优化某些问题假设当前的节点我们可以用e[N]来表示当前节点的值是
橘子味的茶二
·
2024-02-08 09:23
acwing算法基础
数据结构
第二讲 数据结构
AcWing
827. 双链表
目录双链表代码&&思路双链表实现一个双链表,双链表初始为空,支持5种操作:在最左侧插入一个数;在最右侧插入一个数;将第k个插入的数删除;在第k个插入的数左侧插入一个数;在第k个插入的数右侧插入一个数现在要对该链表进行M次操作,进行完所有操作后,从左到右输出整个链表。注意:题目中第k个插入的数并不是指当前链表的第k个数。例如操作过程中一共插入了n个数,则按照插入的时间顺序,这n个数依次为:第1个插入
橘子味的茶二
·
2024-02-08 09:20
acwing算法基础
数据结构
算法
统计数字出现次数的数位动态规划解法-数位统计DP
原题链接:338.计数问题-
AcWing
题库数位动态规划概述数位DP是一种用于解决与数字的各个数位相关的问
派大星45599
·
2024-02-08 05:01
数据结构与算法分析
动态规划
算法
java
状态压缩DP--最短Hamilton路径问题的状态压缩动态规划解法
题目链接:91.最短Hamilton路径-
AcWing
题库问题描述算法概述状态压缩动态规划可以在处理特定类型的组合问题时非常有用,尤其是当问题涉及到需要考虑集合
派大星45599
·
2024-02-08 05:00
数据结构与算法分析
动态规划
算法
Acwing
778.字符串最大跨越
有三个字符串S,S1,S2,其中,S长度不超过300,S1和S2的长度不超过10。现在,我们想要检测S1和S2是否同时在S中出现,且S1位于S2的左边,并在S中互不交叉(即,S1的在S的左边界点的左侧)。计算满足上述条件的最大跨距(即,最大间隔距离:最右边的S2的起始点与最左边的S1的终止点之间的字符数目)。如果没有满足条件的S1,S2存在,则输出−1。例如,S=abcd123ab888efghi
Mbigmouse
·
2024-02-08 04:40
c++
算法
开发语言
Acwing
777.字符串的乘方
给定两个字符串a和b,我们定义a×b为他们的连接。例如,如果a=abc而b=def,则a×b=abcdef。如果我们将连接考虑成乘法,一个非负整数的乘方将用一种通常的方式定义:a0=``(空字符串),a(n+1)=a×(an)。输入格式输入包含不超过10组测试样例,每组测试样例占一行。每组样例包含一个由小写字母构成的字符串s,s的长度不超过100,且不包含空格。最后的测试样例后面将是一个点号作为一
Mbigmouse
·
2024-02-08 04:40
算法
c++
开发语言
ACWing
776.字符串移位包含问题
对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两符s和s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如CDAA是由AABCD两次移位后产生的新串BCDAA的子串,而ABCD与ACBD则不能通过多次移位来得到其中一个字符串是新串的子串。输入格式共一行,包含两个字符串,中间由单个空格隔开。字符串只包含字母和数字,长度
Mbigmouse
·
2024-02-08 04:09
算法
c++
开发语言
数论 之 约数篇
约数1)试除法求约数原题链接:869.试除法求约数-
AcWing
题库思路:与上面的试除法求质数很相似a|b的意思是,b%a=0如果x|n那么一定有(n/x)|n,所以,著需要求一个,另一个直接能得到核心代码
海风许愿
·
2024-02-08 04:21
Acm算法
算法
数据结构
c++
开发语言
树的重心(dfs深度搜索)
树的重心原题链接:846.树的重心-
AcWing
题库邻接表存储树图模板代码voidadd(inta,intb){e[id]=b,ne[id]=h[a],h[a]=id++;}dfs搜索树模板代码voiddfs
海风许愿
·
2024-02-08 04:51
Acm算法
数据结构
c++
深度优先
算法
图论
组合数 与卡特兰数
组合数与卡特兰数1a,b比较小时采用预处理方法,提前将所有的组合数都算出来,到时候直接查表采用的公式是C(a,b)=C(a-1,b)+C(a-1,b-1)原题链接:885.求组合数I-
AcWing
题库核心代码
海风许愿
·
2024-02-08 04:50
Acm算法
c++
算法
数据结构
c++
Acwing
141 周赛 解题报告 | 珂学家 | 逆序数+奇偶性分析
前言整体评价很普通的一场比赛,t2思维题,初做时愣了下,幸好反应过来了。t3猜猜乐,感觉和逆序数有关,和奇偶性有关。不过要注意int溢出。欢迎关注:珂朵莉的天空之城A.客人数量题型:签到累加和即可importjava.io.BufferedInputStream;importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[
珂朵莉MM
·
2024-02-08 01:37
Acwing周赛
解题报告
java
开发语言
算法
矩阵
线性代数
1731. 每位经理的下属员工数量
不管是出于什么原因,
算法学习
需要持续保持。
JYeontu
·
2024-02-07 17:40
leetcode每日一题
算法
数据库
算法
sql
数据库
模拟栈相关练习
Acwing
828模拟栈实现一个栈,栈初始为空,支持四种操作:pushx–向栈顶插入一个数x;pop–从栈顶弹出一个数;empty–判断栈是否为空;query–查询栈顶元素。
不想睡觉_
·
2024-02-07 17:04
数据结构
算法
数据结构
模拟队列相关练习
Acwing
829模拟队列实现一个队列,队列初始为空,支持四种操作:pushx–向队尾插入一个数x;pop–从队头弹出一个数;empty–判断队列是否为空;query–查询队头元素。
不想睡觉_
·
2024-02-07 17:04
数据结构
算法
数据结构
链表相关练习
Acwing
826单链表实现一个单链表,链表初始为空,支持三种操作:(1)向链表头插入一个数;(2)删除第k个插入的数后面的数;(3)在第k个插入的数后插入一个数现在要对该链表进行M次操作,进行完所有操作后
不想睡觉_
·
2024-02-07 17:33
数据结构
链表
算法
c++
AcWing
4956. 冶炼金属
4956.冶炼金属-
AcWing
题库思路:可以冶炼出b个金属,说明b大于等于a乘上转化率,b+1小于a乘上转化率,转化率就在(b+1)/a和b/a之间,左开右闭,因为b是一个整数,根据生活经验,算出来的数据要进行下取整
wsh1c6
·
2024-02-07 17:19
acwing
算法
c++
数据结构
最小生成树刷题汇总
Acwing
346走廊泼水节给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树。求增加的边的权值总和最小是多少。
徒手装机甲
·
2024-02-07 12:32
其他补题
图论
最小生成树个数
今天练习最小生成树时做到这样一个题1150.最小生成树计数-
AcWing
题库一个很裸的求最小生成树个数的题,搜题解发现矩阵树来求解很好,关于图论的结论一般证明都非常麻烦,而且我觉得会用就好,这里附上大佬的证明
兔猪猪兔
·
2024-02-07 12:31
矩阵
算法
矩阵树
最小生成树计数
位运算:进制
4982.进制-
AcWing
题库给定两个整数a,b请你计算,在[a,b]范围内有多少个整数满足其二进制表示恰好有一个0。不考虑前导0。
防御塔策略
·
2024-02-07 05:05
算法
数据结构
c++
位运算
数论
AcWing
-14:不修改数组找出重复的数字(Java语言实现)
classSolution{publicintduplicateInArray(int[]nums){for(inti=0;i<nums.length-1;i++){for(intj=i+1;j<nums.length;j++){if(nums[i]==nums[j]){returnnums[i];}}}return-1;}}
藤原豆腐的拓海
·
2024-02-07 03:39
算法
排序算法
java
数据结构
Acwing
-35:反转链表(Java语言实现)
classSolution{publicListNodereverseList(ListNodehead){ListNodep=head;intlistLength=0;ListNodenewLN=newListNode(-1);while(p!=null){listLength++;p=p.next;}int[]nums=newint[listLength];p=head;intj=0;whil
藤原豆腐的拓海
·
2024-02-07 03:39
链表
算法
数据结构
笔记
java
AcWing
-53:最小的k个数(Java语言实现)
classSolution{publicListgetLeastNumbers_Solution(int[]input,intk){Listlist=newArrayList<>();Arrays.sort(input);for(inti=0;i<k;i++){list.add(input[i]);}returnlist;}}
藤原豆腐的拓海
·
2024-02-07 03:39
java
开发语言
数据结构
笔记
排序算法
AcWing
-13:找出数组中重复的数字(Java语言实现)
classSolution{publicintduplicateInArray(int[]nums){for(inti=0;inums.length-1)||(nums[j]nums.length-1))return-1;}}for(inti=0;i
藤原豆腐的拓海
·
2024-02-07 03:38
算法
数据结构
排序算法
java
笔记
开发语言
蓝桥杯备战(
AcWing
算法基础课)-高精度-乘-低精度
目录前言1题目描述2分析2.1关键代码2.2关键代码分析3代码前言详细的代码里面有自己的理解注释1题目描述给定两个非负整数(不含前导00)A和B,请你计算A×B的值。输入格式共两行,第一行包含整数A,第二行包含整数B。输出格式共一行,包含A×B的值。数据范围1≤A的长度≤100000,0≤B≤10000输入样例:12312输出样例:14762分析这个题和前面对高精度-加-高精度和高精度-减-高精度
望525
·
2024-02-07 01:51
AcWing算法基础课
算法
蓝桥杯
2.2数据结构与
算法学习
日记
目录洛谷p4387验证栈序列题目描述输入格式输出格式输入输出样例题目分析代码示例#[USACO1.5]八皇后CheckerChallenge##题目描述题目分析代码示例洛谷p4387验证栈序列题目描述给出两个序列pushed和poped两个序列,其取值从1到n(n≤100000)。已知入栈序列是pushed,如果出栈序列有可能是poped,则输出Yes,否则输出No。为了防止骗分,每个测试点有多组
祺580
·
2024-02-06 23:26
学习
算法
数据结构
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他