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算法学习
数据结构与
算法学习
笔记(训练营三)-经典面试五
给定两个字符串str1和str2,再给定三个整数ic、dc和rc,分别代表插入、删除和替换一个字符的代价,返回将str1编辑成str2的最小代价。【举例】str1="abc",str2="adc",ic=5,dc=3,rc=2从"abc"编辑成"adc",把'b'替换成'd'是代价最小的,所以返回2str1="abc",str2="adc",ic=5,dc=3,rc=100从"abc"编辑成"ad
剑侠李逍遥
·
2023-12-15 02:22
【数据结构】字典树(Trie树)算法总结
知识概览Trie:高效地存储和查找字符串集合的数据结构数字、汉字可以用二进制位来存例题展示题目链接Trie字符串统计:https://www.
acwing
.com/problem/content/837
ykycode
·
2023-12-15 00:27
代码模板
数据结构
字符串
数据结构
字典树
Trie树
算法
算法与数据结构
C++
欧拉函数与欧拉定理
文章目录
AcWing
873.欧拉函数题目链接欧拉函数欧拉函数的证明思路CODE时间复杂度分析
AcWing
874.筛法求欧拉函数题目链接问题分析与时间复杂度CODE思路欧拉定理
AcWing
873.欧拉函数题目链接
2301_78981471
·
2023-12-14 22:30
算法学习记录
笔记
算法
c++
AcWing
3709:单链表节点交换 ← 四川大学考研机试题
【题目来源】https://www.
acwing
.com/problem/content/3712/【题目描述】输入一个单链表,依次交换前2个数,第3、4个数,第5、6个数,…,以此类推,直到操作完整个链表
hnjzsyjyj
·
2023-12-14 21:25
信息学竞赛
#
线性表
线性表
单链表
算法学习
系列之排序算法:原理、应用场景与C++实现精解
文章目录前言原理和应用场景快速排序的实现一般的递归快速排序三点取中法单边递归快速排序无监督快速排序混合排序的实现C++标准库sort算法我设计的混合排序算法堆排序的实现我的实现另一种实现解释特性其它c++案例实现总结前言在计算机科学领域,排序算法是最基础也是最关键的部分之一。它们不仅在理论上具有重要意义,也在实际应用中发挥着至关重要的作用。从经典的冒泡排序到更高效的快速排序,每种算法都有其独特之处
梦想的理由
·
2023-12-14 19:42
c++
算法
算法
排序算法
学习
Datawhale 12月组队学习 leetcode基础 day1 枚举
这是一个新的专栏,主要是一些算法的基础,对想要刷leedcode的同学会有一定的帮助,如果在
算法学习
中遇到了问题,也可以直接评论或者私信博主,一定倾囊相助进入正题,今天咱们要说的枚举算法,这是个很简单的算法哈
struggle2003
·
2023-12-14 14:43
leetcode基础
学习
leetcode
算法
【算法通关村】链表反转&经典问题解析
本文已收录至
算法学习
之旅一.基础反转我们通常有两种方法反转链表,一种是直接操作链表实现反转操作,一种是建立虚拟头节点辅助实现反转操作。
观止study
·
2023-12-14 13:07
算法之旅(Java版)
算法
链表
数据结构
算法学习
(17)—分支界限法
1、分支界限法基本思想分支限界法(branchandboundmethod)是求解纯整数规划或混合整数规划问题的经典方法,在上世纪六十年代由LandDoig和Dakin等人提出。这种方法灵活且便于用计算机求解,目前已经成功运用于求解生产进度问题、旅行推销员问题、工厂选址问题、背包问题及分配问题等。算法基本思想如下:以广度优先或以最小耗费(最大效益)优先的方式搜索问题的解空间树分支限界法中,每一个活
先弓
·
2023-12-06 23:25
差分序列-
ACwing
https://www.
acwing
.com/problem/content///a1a2a3a4...an//b[1]=a[1];//b[2]=a[2]-a[1];////a[2]=b[2]+b[1]
wyn66666
·
2023-12-06 18:16
蓝桥杯
算法
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/1223/#include#include#includeusingnamespacestd;constintN=2500010
wyn66666
·
2023-12-06 18:15
蓝桥杯
算法
机器学习
算法学习
-普通线性回归、岭回归与lasso回归
1.算法1.1从最简单的普通线性回归谈起Q:已知一维特征空间中的一系列样本点{(xi,yi),i=1,2,3...n},注意这里是一维特征空间,虽然可以在二维平面上画出来,在学习机器学习的时候,一定要跳脱出笛卡尔空间坐标系的束缚。我们希望找到一个一次函数y=ax来描述这一组样本点的模型,如何求a呢?推广到k维特征空间就是{(Xi,yi),i=1,2,3...n,Xi=(xi1,xi2...xik)
Kiroro
·
2023-12-06 16:15
数据结构与
算法学习
笔记(基础班十二)---暴力递归到动态规划
什么暴力递归可以继续优化?有重复调用同一个子问题的解,这种递归可以优化。如果每一个子问题都是不同的解,无法优化也不用优化。暴力递归和动态规划的关系某一个暴力递归,有解的重复调用,就可以把这个暴力递归优化成动态规划,任何动态规划问题都一定对应着某一个有解的重复调用的暴力递归但不是所有的暴力递归,都一定对应着动态规划。面试题和动态规划的关系解决一个问题,可能有很多尝试方法,可能在很多尝试方法中,又有若
剑侠李逍遥
·
2023-12-06 10:37
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/description/4312///首先我们可以很容易的知道这道题是判断有多少个斜率//在直接一点就是将所有斜率相等的认为是一个就可以了
wyn66666
·
2023-12-06 06:25
蓝桥杯
算法
职场和发展
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/description/1030/#include#include#includeusingnamespacestd;constintN
wyn66666
·
2023-12-06 06:20
蓝桥杯
算法
职场和发展
acwing
算法提高之动态规划--最长上升子序列模型(上)
目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:怪盗基德的滑翔翼。有N个数,表示房屋的高度,你可以任意选择一个房屋作为起点,选择朝左飞,或者朝右飞,必须严格递减才能够飞到下一个房屋,求经过的最大房屋数。解题思路:DP,参考最长上升子序列的模型。需要注意的是,本题目可以选择朝左飞,因此除了正着求一遍单调下降子序列,也需要逆着求一遍单调下降子序列(这个等价于正着求一遍单
YMWM_
·
2023-12-06 04:48
Acwing
C++学习
算法
动态规划
acwing
算法提高之动态规划--数字三角形模型
目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:摘花生。解题思路:DP。状态定义f[i][j]:从(1,1)走到(i,j)所摘花生总和。状态转移,有:从上方走到(i,j),有f[i-1][j]+w[i][j]。从左侧走到(i,j),有f[i][j-1]+w[i][j]。C++代码如下,#includeusingnamespacestd;constintN=110;i
YMWM_
·
2023-12-06 04:17
Acwing
C++学习
算法
动态规划
acwing
算法提高之动态规划--最长上升子序列模型(下)
目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:拦截导弹。给你N个数,第(1)问求最长下降子序列,第(2)问求需要多少个下降序列才能把所有元素覆盖住?解题思路:第(1)直接用最长上升子序列的模型即可。第(2)问,需要贪心做法。贪心做法的关键步骤,有遍历每一个元素x:如果现有子序列结尾值均小于等于x,新开一个下降子序列,x作为第一个元素。否则,将x插入到最不浪费空间的
YMWM_
·
2023-12-06 04:16
Acwing
C++学习
算法
c++
AcWing
895.最长上升子序列
importjava.io.*;publicclassMain{staticintn;staticintN=1010;staticBufferedReaderin=newBufferedReader(newInputStreamReader(System.in));staticintdp[]=newint[N];staticintdata[]=newint[N];publicstaticvoidm
赚钱给孩子买茅台喝
·
2023-12-06 00:18
java
算法
AcWing
1015摘花生问题dpJava版
importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStreamReader;publicclassMain{staticintN=110;staticint[][]dp=newint[N][N];;//存放的是dp[1][1]~dp[R][C]的最大花生数量//dp[i][j]由max(dp[i-1]
赚钱给孩子买茅台喝
·
2023-12-06 00:17
算法
算法
java
173. 矩阵距离(多源BFS)
173.矩阵距离-
AcWing
题库给定一个N行M列的0101矩阵A,A[i][j]与A[k][l]之间的曼哈顿距离定义为:dist(A[i][j],A[k][l])=|i−k|+|j−l|输出一个N行M
Landing_on_Mars
·
2023-12-06 00:03
图论:搜索
宽度优先
算法
1076. 迷宫问题(bfs,记录路径)
1076.迷宫问题-
AcWing
题库给定一个n×n的二维数组,如下所示:intmaze[5][5]={0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,1,0,
Landing_on_Mars
·
2023-12-06 00:33
图论:搜索
宽度优先
算法
1107. 魔板(BFS,最小步数模型,unordered_map哈希)
1107.魔板-
AcWing
题库Rubik先生在发明了风靡全球的魔方之后,又发明了它的二维版本——魔板。这是一张有8个大小相同的格子的魔板:12348765我们知道魔板的每一个方格都有一种颜色。
Landing_on_Mars
·
2023-12-06 00:02
图论:搜索
宽度优先
哈希算法
算法
算法基础(一) —— 时间复杂度研究(一)
版本记录版本号时间V1.02018.09.14前言关于
算法学习
有很多很基础的概念和理论,我们不需要强行记忆但是一定要理解明白和说的出来,这个专题就是专门进行有关算法基本内容的一些解析。
刀客传奇
·
2023-12-05 08:35
AcWing
95. 费解的开关 题解
题目思路第一行有五个位置,对应每个位置的操作有两种改变灯的状态不改变灯的状态25=32,即对于第一行的五盏灯的操作一共有32种情况可以遍历第一行的32种操作情况,然后当第一行的情况确定下来以后,下面从第二行开始,每一行的变换都是依据上一行灯的亮灭情况:如果上一行是暗的,则把当前这一行同一列的灯改变状态,从而使上一行的灯点亮;如果上一行的灯是亮的,则当前这一行同一列的灯不作改动。遍历完倒数第二行,最
Alkali!
·
2023-12-05 00:19
#
蓝桥杯
code
刷题
总结&记录
递推
位运算
ACWing
95. 费解的开关
题解这道题目有三个状态条件值得考虑:每一个开关被按0次或者1次才有意义,如果超过1次,那么等同于按0或1次。最终的结果与按的顺序无关因为2,所以可以人为地规定比较合理的顺序。现在以每一行为顺序。先经过一波操作把上一行全部搞成1,然后看这行,如果有0,那么只能按下一行的,以此类推。起始状态难以把握,但是我们可以使用暴力枚举。暴力地把第一行分割为2^5种情况。代码#includeusingnamesp
xjsc01
·
2023-12-05 00:19
#
算法竞赛进阶指南(ACM培训)
算法
c++
Acwing
95. 费解的开关
每一行开关的操作,完全由前一行灯的亮灭状态所确定思路:我们枚举第一行的点击方法,共32种,完成第一行的点击后,固定第一行,//从第一行开始递推,若达到第n行不全为0,说明这种点击方式不合法。//在所有合法的点击方式中取点击次数最少的就是答案。//对第一行的32次枚举涵盖了该问题的整个状态空间,因此该做法是正确的////时间复杂度:32*20*5*500=一百六十万//对第一行操作有32种可能*对前
青衫客36
·
2023-12-05 00:18
递归与递推
蓝桥杯
算法
c++
acwing
.95.费解的开关
费解的开关#include#include#include#includeusingnamespacestd;constintN=6;chara[N][N],backup[N][N];intax[N]={0,0,0,1,-1};intbx[N]={0,1,-1,0,0};voidturn(intx,inty){for(inti=0;i4||b4)continue;a[b][c]^=1;}}intm
小帅吖
·
2023-12-05 00:48
AcWing
95. 费解的开关 Python详解
一、算法思想--递推(详细证明见算法竞赛进阶指南原书)1)若固定第1行,则方案至多只有1种2)把第1行的所有情况遍历,先把亮着的灯全部关闭3)遍历前4行,如果灯是关着的,就把下1行同1列的灯改变状态4)判断第5行是否还有关着的灯,如果有就说明无解,反之输出最少步数二、涉及的语法知识#1)Python深拷贝importcopybackup=copy.deepcopy(g)#2)将不含空格的字符串输入
baisj001
·
2023-12-05 00:48
python
AcWing
95. 费解的开关
知识点:递归,递推这个题有点难度,首先我们来分析题目,每个开关最多只用摁一下,因为摁两次相当于没有摁,以此类推,然后就是假如我们能够将它还原,那么我们按了一些开关,这些摁的的开关的先后次序是不影响的,影响的只有我们摁什么开关能让所有的灯都开开,而不是按这些开关的次序,最后就是,假如我们枚举第一行,后面的行为了能让所有的开关都开开,那么这时的方案是唯一的,这里就是递推,通过第一行的状态我们可以知道后
m0_73035684
·
2023-12-05 00:18
加入题解目录题解
c++
算法
蓝桥杯
AcWing
95. 费解的开关 枚举+位运算
这道题的确比较难想,首先我们知道图比较小,有可能是枚举,那么该如何枚举呢???你可以发现,我们只要把第一排定了,并且保证第一排不准动,那么答案就定了也就是说,我们首先用二进制枚举,枚举第一行需要翻转的,然后让第一行不准再翻转,后面的翻转只能在第二行进行,那么第二翻转的实际上是定好了的,然后因为定好了,所以不能翻转,那么第二行也定了,我们要改变第二行,只能通过第三行,最后判断一下最后一位是不是0就好
bluefly-hrbust
·
2023-12-05 00:18
AcWing
95. 费解的开关(递推)
题目#include#include#include#includeusingnamespacestd;constintN=6;charg[N][N],backup[N][N];//backup用于存储,复制原数组intdx[5]={-1,0,1,0,0},dy[5]={0,1,0,-1,0};//用于方位转化voidturn(intx,inty){for(inti=0;i=5||b=5)cont
God_gong
·
2023-12-05 00:18
AcWing
.92.递归实现指数型枚举(Java)
//递归实现指数型枚举(因为结果有2n){for(inti=1;i<=n;i++){if(st[i]==1)out.write(i+"");}out.write("\n");return;}st[u]=0;dfs(u+1);st[u]=2;st[u]=1;dfs(u+1);st[u]=2;}}
赚钱给孩子买茅台喝
·
2023-12-05 00:17
算法
算法
数据结构
java
蓝桥杯
Acwing
95.费解的开关
题目描述原题连接:95.费解的开关-
AcWing
题库解答这道题确实有些许费解,至少对于第一次见到类似题目的人大概率会摸不着头脑,虽然官网里的解答已经十分详尽了,但个人认为多少还是有些“不说人话”。
Diaukray
·
2023-12-05 00:47
算法
c++
c语言
acwing
95.费解的开关
尝试这一题前可以先看:翻硬币你玩过“拉灯”游戏吗?2525盏灯排成一个5×55×5的方形。每一个灯都有一个开关,游戏者可以改变它的状态。每一步,游戏者可以改变某一个灯的状态。游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。我们用数字11表示一盏开着的灯,用数字00表示关着的灯。下面这种状态1011101101101111000011011在改变了最左上角的灯的状
赚钱给孩子买茅台喝
·
2023-12-05 00:17
算法
java
算法
数据结构
acwing
795前缀和
输入一个长度为n�的整数序列。接下来再输入m�个询问,每个询问输入一对l,r�,�。对于每个询问,输出原序列中从第l�个数到第r�个数的和。输入格式第一行包含两个整数n�和m�。第二行包含n�个整数,表示整数数列。接下来m�行,每行包含两个整数l�和r�,表示一个询问的区间范围。输出格式共m�行,每行输出一个询问的结果。数据范围1≤l≤r≤n1≤�≤�≤�,1≤n,m≤1000001≤�,�≤10
武托邦
·
2023-12-04 23:45
算法
数据结构
c++
数位DP(
acwing
)
https://www.
acwing
.com/problem/content/1083/代码:#include#include#include#includeusingnamespacestd;constintN
wyn66666
·
2023-12-04 22:27
算法
动态规划
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/4648///解析//ai^aj=x//=>aj=x^ai//首先l=r//选择一个i对应的j要在l到r区间还需要满足异或的条件
wyn66666
·
2023-12-04 22:57
蓝桥杯
算法
职场和发展
蓝桥杯
ACwing
习题
题目:https://www.
acwing
.com/problem/content/4409/解析:根据题目我们可以知道问的是方案数那么首先就想到了dp仔细想一下发现类似于蒙德里安的梦想那道状态压缩的题
wyn66666
·
2023-12-04 22:57
蓝桥杯
算法
职场和发展
树形DP
acwing
https://www.
acwing
.com/problem/content/description/1081/解析://首先分析一下这道题我们发现求的是需要着色的最小值,并且对点有限制//首先考虑树形
wyn66666
·
2023-12-04 22:57
深度优先
算法
图论
蓝桥杯习题
ACwing
https://www.
acwing
.com/problem/content/description/3716/#include#include#include#include#includeusingnamespacestd
wyn66666
·
2023-12-04 22:27
蓝桥杯
动态规划
职场和发展
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/description/99///举个例子,180=2^2∗3^2∗5^1//约数个数:(2+1)(2+1)(1+1)=18
wyn66666
·
2023-12-04 22:27
蓝桥杯
算法
职场和发展
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/description/3427/代码及注释#include#include#includeusingnamespacestd
wyn66666
·
2023-12-04 22:26
蓝桥杯
算法
职场和发展
蓝桥杯
ACwing
习题
https://www.
acwing
.com/problem/content/3780//*解析为什么这样做是对的首先,这道题合法的只有两种方案全部是B全部是W那么我们先讨论全部是B的情况如果当第这一位不是
wyn66666
·
2023-12-04 22:55
蓝桥杯
算法
职场和发展
K-Means聚类
算法学习
1.K-Means算法介绍K-Means作为聚类算法中的典型代表,比较容易实现。聚类算法又叫做“无监督分类”,其目的是将数据划分成有意义或有用的组(或簇)。这种划分可以基于业务需求或建模需求来完成,也可以单纯地帮助我们探索数据的自然结构和分布。比如在商业中,如果手头有大量的当前和潜在客户的信息,可以使用聚类将客户划分为若干组,以便进一步分析和开展营销活动。再比如,聚类可以用于降维和矢量量化,可以将
名字真的难想
·
2023-12-04 19:51
算法
kmeans
聚类
蓝桥杯
ACwing
习题
题意:两个操作:1.给定aba和b连一条边2.给a上加一个权值所有和a直接或间接相连的边都加上这个权值第一个操作很简单就是维护并查集的基本操作当a!=b是p[a]=b第一个操作会将所有的点变成一棵树的形式然后当给一个点上加一个值的时候就相当于这个树的根节点加了一个权值在后面要求每一个点的权值时候如果这个点不是根节点的话肯定是当前点的权值加上其所属的连通块根节点的权值d[i]+d[find(i)]注
wyn66666
·
2023-12-04 18:30
蓝桥杯
算法
图论
[
算法学习
] 排序算法(三)——堆排序
这里继续整理常见的排序算法.本文介绍堆排序typerightbyThomasAlan光风霁月023.XDU1.构建二叉堆二叉堆实现的重点是对堆这个类的设计以及元素上移和下移操作.便于插入新元素和取出最大元素.上移:比较当前节点和父节点的大小决定是否移动下移:比较当前节点和子节点的大小决定是否移动同时这里提供两种初始化二叉堆的方法i)初始化再插入元素:时间复杂度为O(nlogn)ii)通过传入数组来
光风霁月023
·
2023-12-04 16:02
算法学习
记录~2023.5.10~二叉树Day8~701.二叉搜索树中的插入操作 & 450.删除二叉搜索树中的节点 & 669. 修剪二叉搜索树
算法学习
记录|2023.X.XX|章节DayX|题目号.题目标题&题目号.题目标题701.二叉搜索树中的插入操作题目链接思路代码1:递归且有返回值代码2:递归且无返回值代码3:迭代总结450.删除二叉搜索树中的节点题目链接思路
山药泥拌饭
·
2023-12-04 12:44
算法记录
算法
学习
数据结构
c++
acwing
1209.带分数暴力与优化(java版)
//n=a+b/cn是确定的,只需找到其中两个。判断剩下一个数是否满足条件即可//由题目条件可知,每个数不能重复使用,需要一个st全局数组判断每个数是否使用过//递归实现排列型枚举,cn=ac+b//对于枚举出来的每一个a,再去枚举每一个c,再在c的枚举里判断b是否满足条件//dfs_a()需要传入一个u,和a,u代表已经用了多少个数,枚举出来的a要作为dfs_c的参数//在通过ac判断b是否满足
赚钱给孩子买茅台喝
·
2023-12-04 07:05
算法
java
深度优先
算法
(
ACWing
yxc基础算法课笔记) 前缀和 例题2 子矩阵求和
我们还是利用前缀和再去写一个算法题:我们求子矩阵的和:给出一个点ij,求它左上角区域所有的元素的和。我们可以求出任意两点间的区域面积。我们的sij可以通过这样的方式去推出来。我们现在来找一个题目去看一下:然后我们现在来看看用我们的java代码要去如何进行实现:运行结果:
抹茶味的西瓜汁
·
2023-12-04 05:58
算法
算法
前缀和
子矩阵求和
前缀和+差分+倍增例题
Go
ACwing
795前缀和
ACwing
797差分洛谷P3406海底高铁
ACwing
796二维前缀和
ACwing
798二维差分AtCoderabc167-dTeleporter
ACwing
795前缀和题目描述输入一个长度为
MarkLinkX
·
2023-12-04 05:58
上一页
15
16
17
18
19
20
21
22
下一页
按字母分类:
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
其他