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
【代码随想录】
刷题笔记
Day36
前言打球运动量不饱和,不太爽,来刷题爽爽134.加油站-力扣(LeetCode)难点在于环形遍历,实际上和最大子序和的思路很像,小于0就从下个位置开始局部最优:当前累加rest[i]的和curSum一旦小于0,起始位置至少要是i+1,因为从i之前开始一定不行。全局最优:找到可以跑一圈的起始位置//暴力法:两层for,用while模拟环形classSolution{public:intcanComp
小涛44
·
2023-12-15 12:38
代码随想录刷题笔记
笔记
leetcode
算法
数据结构
职场和发展
滑动窗口(单调队列)
154.滑动窗口-
AcWing
题库给定一个大小为n≤10^6≤10^6的数组。有一个大小为k的滑动窗口,它从数组的最左边移动到最右边。你只能在窗口中看到k个数字。每次滑动窗口向右移动一个位置。
防御塔策略
·
2023-12-15 04:55
算法
数据结构
830. 单调栈
830.单调栈-
AcWing
题库给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出−1−1。输入格式第一行包含整数N,表示数列长度。第二行包含N个整数,表示整数数列。
防御塔策略
·
2023-12-15 04:54
算法
数据结构
acwing
-蓝桥杯C++ AB组辅导课Day1-递归
感谢梦翔老哥的蓝桥杯C++AB组辅导课~省一刷200题国赛拿成绩300题比赛考察的是各种模型的熟练度,可以从dfs的角度比较各个模型与当前问题的匹配程度。常见时间复杂度,根据时间复杂度可以判别是否可以选用这个解题思路写递归的时候,可以考虑将递归写成递归搜索树的形式,比较便于理解:常见的数字:递归实现指数型枚举:递归的思路就是找到一个顺序不重不漏的遍历所有情况。本题的思路就是遍历每个位置,考虑每个位
向来痴_
·
2023-12-15 02:57
蓝桥杯
c++
职场和发展
【数据结构】字典树(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
信息学竞赛
#
线性表
线性表
单链表
差分序列-
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
蓝桥杯
算法
LeetCode
刷题笔记
第71题:简化路径
LeetCode
刷题笔记
第71题:简化路径题目给定一个路径,简化路径要求:1、以’/‘开头2、两个目录之间只有一个’/’3、不能以’/‘结尾4、路径中不能有’.
等风来随风飘
·
2023-12-06 07:48
leetcode
笔记
蓝桥杯
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++
Leetcode
刷题笔记
题解(C++):1008. 前序遍历构造二叉搜索树
思路:1.树中的第一个值为根(数组的第一个值),小于根的值存放在左子树中,大于根的值存放在右子树中;2.利用递归对左右子树/***Definitionforabinarytreenode.*structTreeNode{*intval;*TreeNode*left;*TreeNode*right;*TreeNode():val(0),left(nullptr),right(nullptr){}*T
Demo.demo
·
2023-12-06 02:33
Leetcode算法题解
leetcode
笔记
c++
Leetcode
刷题笔记
题解(C++):LCR 021. 删除链表的倒数第 N 个结点
思路:用双指针去遍历链表,删除left的下一个节点,注意的是n大于等于链表长度即删除第一个节点/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}*ListNo
Demo.demo
·
2023-12-06 02:31
Leetcode算法题解
leetcode
笔记
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
图论:搜索
宽度优先
哈希算法
算法
【LeetCode
刷题笔记
】102. 二叉树的层序遍历
创作不易,本篇文章如果帮助到了你,还请点赞关注支持一下♡>>levelOrder(TreeNode*root){vector>res;//返回结果:二维数组if(root==nullptr)returnres;queueqe;//打印队列qe.push(root);//将根节点入队while(!qe.empty())//是否还有节点未处理{vectorlevel;//每层的打印结果intsize=
天喜Studio
·
2023-12-05 23:38
【LeetCode刷题笔记】
leetcode
笔记
算法
c++
学习
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
蓝桥杯
算法
职场和发展
力扣树专题-2 树的层序遍历 剑指Offer32 - I leetcode102 Java
刷题笔记
本次
刷题笔记
中有两道题相比上一篇二叉树遍历的基础难度有所提
敲代码的小提琴手
·
2023-12-04 18:31
#
分门别类刷力扣
力扣刷题
算法强化之路
二叉树
队列
java
leetcode
新星计划
蓝桥杯
ACwing
习题
题意:两个操作:1.给定aba和b连一条边2.给a上加一个权值所有和a直接或间接相连的边都加上这个权值第一个操作很简单就是维护并查集的基本操作当a!=b是p[a]=b第一个操作会将所有的点变成一棵树的形式然后当给一个点上加一个值的时候就相当于这个树的根节点加了一个权值在后面要求每一个点的权值时候如果这个点不是根节点的话肯定是当前点的权值加上其所属的连通块根节点的权值d[i]+d[find(i)]注
wyn66666
·
2023-12-04 18:30
蓝桥杯
算法
图论
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
AcWing
蓝桥杯专题训练 :(一)二分与前缀和 例题
AcWing
蓝桥杯专题训练:(一)二分与前缀和例题
AcWing
账号ID:田所浩二注:可能会和y总的代码有不一样的地方写在前面:y总的二分模板分为两类:其一是类似于“分巧克力”中的求最大值,其二类似于机器人跳跃问题中的求最小值
sm_whitegivegenius
·
2023-12-04 05:57
蓝桥杯集训
二分法
算法
c++
acwing
算法基础课:前缀和与差分
一维前缀和模板S[i]=a[1]+a[2]+...a[i]a[l]+...+a[r]=S[r]-S[l-1]例题输入一个长度为n的整数序列。接下来再输入m个询问,每个询问输入一对l,r。对于每个询问,输出原序列中从第l个数到第r个数的和。#includeusingnamespacestd;constintN=100010;intarr[N],l,r,m,n;intmain(){cin>>n>>m;
墨染&殇泪
·
2023-12-04 05:25
acwing
#
基础算法
算法
线性代数
数据结构
上一页
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
其他