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
习题
https://www.
acwing
.com/problem/content/1223/#include#include#includeusingnamespacestd;constintN=2500010
wyn66666
·
2023-12-06 18:15
蓝桥杯
算法
蓝桥杯
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
图论:搜索
宽度优先
哈希算法
算法
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
蓝桥杯
算法
职场和发展
蓝桥杯
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
#
基础算法
算法
线性代数
数据结构
acwing
基础课——前缀和与差分
由数据范围反推算法复杂度以及算法内容-
AcWing
常用代码模板1——基础算法-
AcWing
基本思想:前缀和的思想很简单,可以理解为数学上的数列的前n项和,多用于求区间和,子矩阵和等问题。
我的鱼干呢w
·
2023-12-04 05:25
acwing算法基础课二刷记录
c++
数据结构
算法
【
ACWing
算法基础】前缀和
一.模板一维前缀和S[i]=a[1]+a[2]+...a[i]a[l]+...+a[r]=S[r]-S[l-1]二维前缀和S[i,j]=第i行j列格子左上部分所有元素的和以(x1,y1)为左上角,(x2,y2)为右下角的子矩阵的和为:S[x2,y2]-S[x1-1,y2]-S[x2,y1-1]+S[x1-1,y1-1]二.总结三.例题795.前缀和796.子矩阵的和输入一个n行m列的整数矩阵,再输
OctalZero
·
2023-12-04 05:21
数据结构与算法
算法
c++
图论
AcWing
1101.献给阿尔吉侬的花(java版)
importjava.io.*;importjava.util.*;publicclassMain{staticintT,n,m;//T组数据,每组数据是n行m列staticint[]dx={-1,0,1,0};staticint[]dy={0,1,0,-1};//存储偏移量,用于广度优先搜索staticfinalintN=210;//数据范围staticchar[][]g=newchar[N][
赚钱给孩子买茅台喝
·
2023-12-04 05:17
算法
java
算法
数据结构
蓝桥杯
AcWing
1238.日志统计(java版)
importjava.io.*;importjava.util.*;publicclassMain{staticintn,d,k;staticfinalintN=100010;staticint[]cnt=newint[N];//判断每个在d区间内每个id出现多少次staticboolean[]st=newboolean[N];//判断该id是否满足题意staticPII[]p=newPII[N]
赚钱给孩子买茅台喝
·
2023-12-04 05:17
算法
java
算法
数据结构
蓝桥杯
前缀和例题:子矩阵的和
AcWing
796
//前缀和模板提,在读入数据的时候就可以先算好前缀和的大小//计算前缀的时候用:g[i][j]=g[i][j-1]+g[i-1][j]-g[i-1][j-1]+Integer.parseInt(init[j-1]);//计算结果的时候用:g[x2][y2]-g[x1-1][y2]-g[x2][y1-1]+g[x1-1][y1-1]+"\n"//一些重复加的地方都需要减掉,如计算前缀和的时候g[i-
赚钱给孩子买茅台喝
·
2023-12-04 05:43
算法
矩阵
java
算法
蓝桥杯
数据结构
AcWing
周赛41
4308.组合字符串比赛时没有通过,思路是对的(经过观察发现,s2字符串只会取第一个字符,而s1字符串一定取第一个字符,后面的字符取到小于s2字符串第一个字符的地方),但是遗漏了等于号。aw比awc字典序要小,所以当找到s1中除第一个字符外,不小于s2中第一个字符的字符时退出循环。找到等于的也不继续向下找了,并且不要这个等于的。importjava.util.Scanner;publicclass
花落yu
·
2023-12-03 21:45
ACW竞赛
动态规划
算法
蓝桥杯
acwing
算法基础之动态规划--数位统计DP、状态压缩DP、树形DP和记忆化搜索
目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:求a~b中数字0、数字1、…、数字9出现的次数。思路:先计算1~a中每位数字出现的次数,然后计算1~b-1中每位数字出现的次数,两个相减即是最终答案。那么,如何计算1~a中每位数字出现的次数呢?首先,将a的每一位存入向量num中,例如a=1234567,那么num为,考虑如下两个子问题,1~a中数字0出现的次数。1~a
YMWM_
·
2023-12-03 13:12
Acwing
C++学习
算法
动态规划
acwing
算法基础之贪心--区间问题和Huffman树
目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:区间选点。给你N个区间,让你在数轴上选一些点,要求N个区间中至少有一个点被选出。求选一些点的最少数目。解题思路:贪心,按照右端点排序,每次选择右端点,维护一个res和右端点right即刻,如果当前区间左端点大于right,则更新right,res自增。C++代码如下,#include#include#includeus
YMWM_
·
2023-12-03 13:42
Acwing
C++学习
算法
动态规划
acwing
算法基础之贪心--排序不等式、绝对值不等式和推公式
目录1基础知识2模板3工程化1基础知识暂无。。。2模板暂无。。。3工程化题目1:排队打水。给定N个数,表示装满每个桶所需的时间,请你安排打水顺序,使得等待时间最小,并输出该最小值。解题思路:将所需时间小的桶排在前面。C++代码如下,#include#include#includeusingnamespacestd;intmain(){intn;cin>>n;vectornums;for(inti=
YMWM_
·
2023-12-03 12:41
Acwing
C++学习
算法
c++
数据结构
最小生成树算法
文章目录最小生成树概述PrimPrimPrim算法-稠密图-O(n2)O(n^2)O(n2)思路概述时间复杂度分析
AcWing
858.Prim算法求最小生成树CODEKruskalKruskalKruskal
2301_78981471
·
2023-12-03 08:40
算法学习记录
算法
笔记
c++
acwing
算法基础之时空复杂度分析
目录1基础知识2模板3工程化1基础知识(一)由数据范围反推算法。C++中题目给出的要求时间是1秒或2秒计算出结果,而1秒内C++可以执行107∼10810^7\sim10^8107∼108次操作。故需要把时间复杂度控制在10810^8108以内。给定数目范围nnn,有如下情况,当n≤30n\leq30n≤30时,指数级别,可以考虑的算法有:dfs+剪枝,状态压缩dp。当n≤102n\leq10^2
YMWM_
·
2023-12-03 08:54
Acwing
C++学习
算法
最短路算法
文章目录最短路总览朴素Dijkstra-稠密图-O(n2)O(n^2)O(n2)具体思路时间复杂度分析使用场景
AcWing
849.Dijkstra求最短路ICODE堆优化DijkstraDijkstraDijkstra
2301_78981471
·
2023-12-02 21:52
算法学习记录
算法
笔记
c++
完全背包问题细节
2日再练忘光光了:忘记点1——为什么每个物品要遍历k件:忘记点2——数学优化:之前学过一遍,但是12月2日再练忘光光了:【模板】完全背包_牛客题霸_牛客网(nowcoder.com)3.完全背包问题-
AcWing
DBWYX
·
2023-12-02 16:04
算法
算法
动态规划
上一页
9
10
11
12
13
14
15
16
下一页
按字母分类:
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
其他