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算法笔记
第3章:搜索与图论【
AcWing
】
文章目录图的概念图的概念图的分类有向图和无向图连通性连通块重边和自环稠密图和稀疏图参考资料图的存储方式邻接表代码邻接矩阵DFS全排列问题题目描述思路回溯标记剪枝代码时间复杂度[N皇后问题](https://www.luogu.com.cn/problem/P1219)题目描述全排列思路O(n!)O(n!)O(n!)代码枚举思路O(n!)O(n!)O(n!)代码树的重心**题目描述**思路O(n)O
Man9Oo
·
2023-11-16 08:16
算法基础
图论
BFS
DFS
拓扑序列
最短路
最小生成树
二分图
有向图的强连通分量,tarjan算法,367. 学校网络
367.学校网络-
AcWing
题库一些学校连接在一个计算机网络上,学校之间存在软件支援协议,每个学校都有它应支援的学校名单(学校A支援学校B,并不表示学校B一定要支援学校A)。
Landing_on_Mars
·
2023-11-16 08:54
#
最小生成树
算法
图论
点的双连通分量,tarjan算法判断割点,1183. 电力,模板题
1183.电力-
AcWing
题库给定一个由n个点m条边构成的无向图,请你求出该图删除一个点之后,连通块最多有多少。输入格式输入包含多组数据。
Landing_on_Mars
·
2023-11-16 08:20
#
最小生成树
算法
tarjan算法
AcWing
算法基础课 第一讲小结(已完结,第二讲已开始)
目录目录前言一、快速排序法及其扩展快速排序法介绍思路+步骤模拟代入模板练习扩展(求第k个数)思路代码二、归并排序法归并排序思路思路+步骤模拟代入模板练习应用(逆序对的数量)介绍思路模拟代入模板练习三、二分整数二分大致步骤详细步骤(两模板)模板模拟代入练习实数二分介绍练习四、高精度算法介绍高精度加法不压位步骤压位步骤练习高精度减法介绍练习高精度乘法高精度乘以低精度高精度乘以高精度高精度除法高精度除以
StarHui0001
·
2023-11-16 00:54
AcWing基础算法
算法
排序算法
c++
【
AcWing
算法基础班】动态规划(二)学习笔记
一、线性DP定义:有模糊的线性递推顺序的模型例1数字三角形问题:选择从上到下的一条路径,使得路径上的数字和最大样例:738810274445265考虑状态表示的是哪一个集合:所有从起点走到(i,j)的路径属性:所有这些路径上的数字之和的最大值状态计算:集合划分为从左上方来的一类和从右上方来的一类来自左上:f[i-1][j-1]+a[i][j]来自右上:f[i-1][j]+a[i][j]动态规划问题
keguaiguai
·
2023-11-16 00:21
动态规划
算法
动态规划
acm竞赛
icpc
程序设计
二分法中的两个模板
在
acwing
的算法基础课中,yxc给出了二分的两个模板,这里举有序数组查找某个数的例子来说明这两个模板。
volcanical
·
2023-11-15 15:42
算法
算法
acwing
算法基础之数学知识--扩展欧几里得算法
目录1基础知识2模板3工程化1基础知识数学定理:对于任意正整数a和b,一定存在非零整数x和y,使得xa+yb=gcd(a,b)。扩展欧几里得算法的关键步骤:如果b为0,那么可取x=1,y=0。否则,exgcd(b,a%b),它对应的结果为y和x,即yb+x(a%b)=gcd(b,a%b)。考虑到a%b=a−⌊ab⌋⋅ba\%b=a-\lfloor\frac{a}{b}\rfloor\cdotba%
YMWM_
·
2023-11-15 13:42
Acwing
C++学习
算法
数学
acwing
算法基础之数学知识--筛法求1~n中每个数的欧拉函数
目录1基础知识2模板3工程化1基础知识已知数i、质数a和数i的欧拉函数值ϕ(i)\phi(i)ϕ(i),求数i*a的欧拉函数值ϕ(i⋅a)\phi(i\cdota)ϕ(i⋅a)。如果质数a是数i的质因子(即a%i==0),那么有ϕ(a⋅i)=a⋅ϕ(i)\phi(a\cdoti)=a\cdot\phi(i)ϕ(a⋅i)=a⋅ϕ(i)。证明如下,ϕ(a⋅i)=a⋅i⋅Σj(1−1pj)=a⋅ϕ(i)
YMWM_
·
2023-11-15 13:12
Acwing
C++学习
算法
acwing
算法基础之数学知识--快速幂
目录1基础知识2模板3工程化1基础知识快速幂,该方法用来快速求解aka^kak取余p的值,时间复杂度为O(logk)。核心思想:k一定可以表示成k=Σj2jk=\Sigma_j2^jk=Σj2j这样的形式,例如当k=9时,9=20+239=2^0+2^39=20+23。故,我们先预处理出aaa、a2a^2a2、a4a^4a4等等取余p的值,然后a9=(a%p)⋅(a8%p)a^9=(a\%p)\c
YMWM_
·
2023-11-15 13:12
Acwing
C++学习
算法
c++
数据结构
通关基础算法 --
acwing
第一讲基础算法快排原理基于分治来做的确定分界点x:q[l],q[(l+r)/2],q[r],随机把整个区间,根据x,把整个数据分成两部分。两部分不一定相等,使得左边部分都=x递归得给左边排序,再递归得给右边排序区间调整的实现方法1.暴力解法a[],b[]扫描一下q[l]-q[r],ifq[i]x->a[];elsex->b[];a[]->q[],b[]->q[]2.优雅解法用两个指针,一个指针i指
Shibuya_Kanon
·
2023-11-15 11:57
算法
排序算法
c++
Django项目笔记(五)——联机对战的实现
Django上课笔记(五)——联机对战的实现也欢迎大家光临我另外项目课的其他博客:Django上课笔记(一)——环境配置与项目创建(过程十分详细)-
AcWing
(更新版)Django上课笔记(二)——菜单模块的实现
卷王2048
·
2023-11-15 06:25
django项目笔记
django
python
后端
寒假第六周总结(2.14-2.20)
算法部分:这周的刷题主要围绕
acwing
和洛谷,比赛则是codeforces和atcoder先说codeforces:今天晚上还有一场还没开始打,教育场立个FLAG做题数+4然后模拟了一把情人节专场,效果很差心态爆炸
黑谷小健
·
2023-11-15 03:25
深度优先
算法
动态规划
Acwing
840. 模拟散列表(哈希表:拉链法 + 开放寻址法)
Acwing
840.模拟散列表(哈希表:拉链法+开放寻址法)维护一个集合,支持如下几种操作:“Ix”,插入一个数x;“Qx”,询问数x是否在集合中出现过;现在要进行N次操作,对于每个询问操作输出对应的结果
cocoshe_
·
2023-11-15 00:42
算法
数据结构
哈希表
数据结构
算法
模拟散列表(哈希表)模板
模板题:https://www.
acwing
.com/problem/content/842/拉链法#include#include#includeusingnamespacestd;constintN
B0tton
·
2023-11-15 00:39
算法笔记
散列表
图论
c++
哈希表
AcWing
840. 模拟散列表
哈希表
AcWing
840.模拟散列表原题链接
AcWing
840.模拟散列表算法标签哈希表思路拉链法开放寻址法代码#include#defineintlonglong#definerep(i,a,b)for
飞滕人生TYF
·
2023-11-15 00:37
算法
散列表
数据结构
Linux使用总结
知识点总结来源:作者:yxc来源:
AcWing
Linux基础课活动-
AcWing
感兴趣有条件可报课学习1.常用命令文件管理ctrlc:取消命令,并且换行ctrlu:清空本行命令tab键:可以补全命令和文件名
御己昊
·
2023-11-14 22:23
Linux
linux
服务器
运维
AcWing
Linux基础课
文章目录常用文件管理命令常用命令介绍创建作业&测试作业的正确性作业tmux和vimtmux教程vim教程创建作业&测试作业的正确性作业shellshell语法概论注释变量默认变量数组expr命令read命令echo命令printf命令test命令与判断符号[]判断语句循环语句函数exit命令文件重定向引入外部脚本创建作业&测试作业的正确性作业sshssh教程ssh登录scp传文件获取ssh教程配套
张登雨
·
2023-11-14 22:19
AcWing课程
linux
算法笔记
-第七章-队列
算法笔记
-第七章-队列队列的相关知识点c++中队列queue用法队列的操作序列求和队列约瑟夫环-队列匹配队列队列的相关知识点大佬的讲解c++中队列queue用法一:queue是一种容器转换器模板,调用#
一直爱莲子
·
2023-11-14 21:14
#
算法笔记刷题
算法
笔记
算法笔记
-第七章-链表(未完成)
算法笔记
-第七章-链表链表的遍历链表结点的个数链表的头插法!
一直爱莲子
·
2023-11-14 21:14
#
算法笔记刷题
算法
笔记
链表
算法笔记
-第九章-二叉树的遍历(待整理)
算法笔记
-第九章-二叉树的遍历二叉树的先序遍历二叉树的中序遍历二叉树的先序遍历//二叉树的先序遍历#include#includeusingnamespacestd;constintMAXN=50;structNode
一直爱莲子
·
2023-11-14 21:44
#
算法笔记刷题
算法
笔记
acwing
算法基础之数学知识--求一个数x的约数数目和约数之和
目录1基础知识2模板3工程化1基础知识求一个数x的约数数目和约数之和的关键步骤:对数x分解质约数,x=p1c1⋅p2c2⋯pkckx=p_1^{c_1}\cdotp_2^{c_2}\cdotsp_k^{c_k}x=p1c1⋅p2c2⋯pkckunordered_mapget_prime_divisors(intx){//对一个数x进行分解质因子操作unordered_mapmp;for(inti=
YMWM_
·
2023-11-14 11:00
Acwing
C++学习
算法
acwing
算法基础之数学知识--求数a和数b的最大公约数
目录1基础知识2模板3工程化1基础知识欧几里得算法求最大公约数(也叫作辗转相除法)的核心是:a和b的最大公约数等于b和a取余b的最大公约数,即(a,b)=(b,a%b)(a,b)=(b,a\%b)(a,b)=(b,a%b)。欧几里得算法:intgcd(inta,intb){returnb?gcd(b,a%b):a;}2模板暂无。。。3工程化暂无。。。
YMWM_
·
2023-11-14 11:00
Acwing
C++学习
数学知识
C++
acwing
算法基础之数学知识--求数a的欧拉函数值phi(a)
目录1基础知识2模板3工程化1基础知识数a的欧拉函数ϕ(a)\phi(a)ϕ(a):表示1~n中与n互质的数的个数。其中两个数互质,是指这两个数的最大公约数为1。根据定义,我们可以写出如下方法,intgcd(inta,intb){returnb?gcd(b,a%b):a;}intphi(inta){intres=0;for(inti=1;iget_prime_divisors(inta){unor
YMWM_
·
2023-11-14 11:56
Acwing
C++学习
算法
【
AcWing
1068. 环形石子合并】区间dp
题目链接题意:将n堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数n及每堆的石子数,并进行如下计算:选择一种合并石子的方案,使得做n−1次合并得分总和最大。选择一种合并石子的方案,使得做n−1次合并得分总和最小分析:这个题是石子合并的升级版,那么现在问题就落到了怎么将这个题转化到石子合并的问题
宇智波一打七~
·
2023-11-14 11:56
算法题目
动态规划
动态规划
算法
竞赛
2021-10-19
AcWing
1068. 环形石子合并
题目纯纯的区间dp,不过用了循环数组的常用技巧,拉长一倍数组。然后枚举起点从1到n+1即可。#includeusingnamespacestd;intn,m,k,T;constintN=202;inta[N>n;for(inti=1;i>a[i],a[i+n]=a[i];for(inti=1;i<=n<<1;++i)s[i]=s[i-1]+a[i];for(intlen=1;len<=n;++le
想出成果的acmer
·
2023-11-14 11:56
动态规划
算法
c++
AcWing
区间DP相关问题 1068. 环形石子合并
'''核心思想将原来序列拓展成2倍长度,在拓展区间上做区间DP将环问题转换为线性区间问题'''N=int(input())arr=list(map(int,input().split()))#把原来的序列拓展成2倍,然后在拓展之后的序列上进行区间DP,把换拆成链arr=arr*2#dp(i,j)表示从i到j的区间中的石子合并成一个石子的所有方案中最小的开销dp=[[0]*(2*N)for_inra
皓首不倦
·
2023-11-14 11:56
ACWing
区间DP相关问题
算法
Acwing
1068. 环形石子合并(区间DP)
前导题:石子合并传送门:
Acwing
282.石子合并(区间DP)_林十六要努力的博客-CSDN博客与上题不同之处在于“环形”,难点在于如何把“环”变成“链”来处理我们将1~n号石子复制到n+1~2*n号
Vic.GoodLuck
·
2023-11-14 11:55
动态规划
算法
题310.区间dp-
acwing
-Q1068--环形石子合并
文章目录题310.区间dp-
acwing
-Q1068--环形石子合并一、题目二、题解题310.区间dp-
acwing
-Q1068–环形石子合并一、题目二、题解用dp五步法分析该题(以求最大得分为例):1
Adongua
·
2023-11-14 11:50
算法相关
动态规划
算法
c++
[
Acwing
] 1068. 环形石子合并 区间DP
前言传送门:https://www.
acwing
.com/problem/content/1070/没想到感冒一会,就两天没做题了,真恐怖QAQ思路朴素做法:对于n个点,我们需要合并n-1次,因此我们有
*DDL_GzmBlog
·
2023-11-14 11:47
#
基础动态规划
动态规划
算法
AcWing
1068 环形石子合并 题解 (动态规划—DP—区间DP)
原题传送门#includeusingnamespacestd;constintN=410,INF=0x3f3f3f3f;intn,m;intw[N],s[N];intf[N][N],g[N][N];//f[i][j]记录的是从i到j的区间中合并的最小值,g[i][j]记录的是从i到j的区间中合并的最大值intmain(){/*将环形区间考虑为双倍长度的链形区间,枚举其中所有长度为n的链,最后求的的
QingQingDE23
·
2023-11-14 11:17
动态规划-DP
动态规划
算法
图论
1068. 环形石子合并 (环形,区间dp)
原题链接-
AcWing
分析:与石子合并只加了一个环形的条件对于环形问题,如果只是枚举中断点的话,在石子合并的基础上多开一维,时间复杂度是O(n^4)可以采用一个普遍的方法,就是把环转换成一个链通过把从1
seez
·
2023-11-14 11:17
动态规划
动态规划
c++
算法
acwing
1068. 环形石子合并(区间dp+前缀和)
将n堆石子绕圆形操场排放,现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆的石子数记做该次合并的得分。请编写一个程序,读入堆数n及每堆的石子数,并进行如下计算:选择一种合并石子的方案,使得做n−1次合并得分总和最大。选择一种合并石子的方案,使得做n−1次合并得分总和最小。输入格式第一行包含整数n,表示共有n堆石子。第二行包含n个整数,分别表示每堆石子的数量。输出格式
cc_奋斗ing
·
2023-11-14 11:15
ACM
算法
数据结构
c++
AcWing
1068. 环形石子合并
题目题目链接区间DP思路核心思路:把环形数组转换为2N长度的数组,最后求长度为N的最值。代码#include#include#includeusingnamespacestd;constintN=410;intw[N],s[N];intf[N][N],g[N][N];intmain(){intn;cin>>n;for(inti=1;i>w[i];w[i+n]=w[i];}for(inti=1;i<
SYaoJun
·
2023-11-14 11:42
区间DP
算法
动态规划
AcWing
1068. 环形石子合并(区间dp)
合并的费用是两个石子堆的分数之和求解两个方案:方案一:把这n堆石子合并为一堆,且满足费用最大的方案方案二:把这n堆石子合并为一堆,且满足费用最小的方案思路:本题是限制只能合并相邻两堆石子的模型,是区间dp模板题:
AcWing
282
Brightess
·
2023-11-14 11:11
区间dp
动态规划
动态规划
算法
c++
【算法|动态规划 | 区间dp No.2】
AcWing
1068.环形石子合并
个人主页:兜里有颗棉花糖欢迎点赞收藏✨留言✉加关注本文由兜里有颗棉花糖原创收录于专栏【
AcWing
算法提高学习专栏】【手撕算法系列专栏】本专栏旨在提高自己算法能力的同时,记录一下自己的学习过程,希望对大家有所帮助希望我们一起努力
兜里有颗棉花糖
·
2023-11-14 11:08
手撕算法系列专栏
AcWing算法提高学习专栏
算法
动态规划
算法笔记
-散列表1
Word文档中的单词拼写检查功能是如何实现的什么是散列表散列表用的是数组支持按照下标随机访问数据的时候,时间复杂度为O(1)的特性。我们通过散列函数将元素的键值映射为下标,然后将元素存储在数组中对应下标的位置。查找元素的时候,通过散列函数将键值转化为数组下标,然后从数组中取出对应下标位置上的元素。什么是散列思想某校举办运动会,共有100名运动员,编号从0到99。如果我们将运动员的编号与数组的下标一
黑子.
·
2023-11-14 09:42
算法入门
散列表
散列函数
散列冲突
哈希函数
哈希值
算法笔记
-第五章-质因子分解
算法笔记
-第五章-质因子分解小试牛刀质因子2的个数丑数质因子分解最小最大质因子约数个数小试牛刀质因子2的个数#includeintmain(){intn;scanf_s("%d",&n);intcount
一直爱莲子
·
2023-11-14 09:06
#
算法笔记刷题
算法
笔记
表达式求值(中缀转后缀)
表达式求值https://www.
acwing
.com/problem/content/3305/首先进行中缀转后缀,然后根据后缀表达式求值。
青铜世纪
·
2023-11-14 05:26
数据结构
c++
算法
蓝桥杯
数据结构
快速排序中的下标问题
快速排序https://www.
acwing
.com/problem/content/787/详细解释在这篇文章(https://blog.csdn.net/Joker15517/article/details
青铜世纪
·
2023-11-14 05:56
算法
c++
算法
数据结构
leetcode刷题----一天一个刷题套路
数组、链表类下面的内容是根据labuladong的
算法笔记
进行学习的,因为其labuladong的算法套路真的是很nice,所以就想把自己学的过程记录下来,方便后面进行复习。
小宠是ZOE
·
2023-11-14 04:09
leetcode
算法
数据结构
AcWing
100.增减序列
题目给定一个长度为nnn的数列a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an,每次可以选择一个区间[l,r][l,r][l,r],使下标在这个区间内的数都加一或者都减一。求至少需要多少次操作才能使数列中的所有数都一样,并求出在保证最少次数的前提下,最终得到的数列可能有多少种。输入格式第一行输入正整数nnn。接下来nnn行,每行输入一个整数,第i+1i+1i+1行的整数代表aia
明朗晨光
·
2023-11-14 04:59
算法竞赛进阶指南
#
AcWing
差分
贪心
1204. 错误票据
题目:1204.错误票据-
AcWing
题库思路:将输入的数据存入数组,从小到大排序后遍历,若(a[i]==a[i-1])res1=a[i]--->重号;若(a[i]-a[i-1]>=2)res2=a[i
hz2.0
·
2023-11-14 03:36
模拟
字符串
算法
数据结构
【
AcWing
】1.1.2归并排序
一、归并排序1、归并排序题目链接
AcWing
.787这道题主要考察归并排序,废话不多说,上板子!
鲸可落
·
2023-11-13 18:07
算法
排序算法
算法
数据结构
【
AcWing
】1.1.3二分搜索
一、二分搜索1、查找数的范围原题链接 这道题看似是二分搜索的题目,实则就是二分搜索。与一般的搜索不同的是,若查找元素重复,则分别返回重复元素的左端下标和右端下标,若不存在则返回“-1-1。我们常用的二分搜索是返回的重复元素的左端下标,稍作修改,则可以返回右端元素下标。#include#includeusingnamespacestd;constintN=1e5+10;inta[N];//若存在重复
鲸可落
·
2023-11-13 18:07
算法
算法
【
AcWing
】1.1.4 前缀和
一、前缀和基本介绍 前缀和分为一维前缀和和二维前缀和。一维前缀和用于求前n项得和,或者是求一个区间内的数之和,如果采用简单的遍历,时间复杂度将是O(n)O(n)O(n),若采用前缀和的方法则是O(1)O(1)O(1)的复杂度。二维前缀和是一维前缀和的扩展,可以理解维求方格的面积,具体看第二部分。1、一维前缀和一维前缀和比较简单用于求前n项和或某个区间内的数之和,用公式描述如下:1.s[0]=02.
鲸可落
·
2023-11-13 18:07
算法
算法
数据结构
c++
AcWing
第129场周赛 - 5289. 奶牛做题 - 思维/贪心
可以把数据想象成n行k列的矩阵,这个矩阵每一列上的值相等。每完成矩阵上的一张试卷会花费a[i]的时间,同时获得分数+1。另外完成一整行的试卷,会额外+1。给定我们一个总时间M,问如果使得获得的分数最大。正解:枚举已经完成了0行,1行,2行……(每完成一行会额外+1)然后用剩下的时间,在剩下的行中按照列去取,直至不能取为止。#include#include#include#include#inclu
JYWsuperman
·
2023-11-13 18:02
#
算法/思维
基础刷题
算法
c++
数据结构
AcWing
第129场周赛 - 5290. 重新分装 - 哈夫曼/贪心
解决这个问题前可以先把这三个问题想清楚1、为什么可以使用哈夫曼树进行求解?考虑逆操作参考题解链接2、为什么恰好是按照每堆所需要的数量分?针对某一堆,可以先分一部分吗?首先这里按照每堆所正好含有的数量进行划分,是最优的因为假想我们对于某一堆K,我们先只给它划分所需要的一部分重量那么要想形成它所需要的质量,此时需要把某一堆O的质量分给它。从而需要O本身的质量进行划分,这样的话肯定是没有直接整堆划分更优
JYWsuperman
·
2023-11-13 18:30
#
算法/思维
基础刷题
算法
【DP】最长上升公共子序列
一.题目来源272.最长公共上升子序列-
AcWing
题库二.简要思路这道题易知是最长上升子序列(LIS)和最长公共子序列(LCS)的综合应用。
_szy_
·
2023-11-13 16:47
动态规划
算法
c++
数据结构
git命令汇总
(或者写文件名)5.gitcommit-m"标记信息"持久化6.gitremoteaddorigingit@git.
acwing
.com:yaoaolong/11_5.git初次同步仓库7.gitpush
桐人,奥龙
·
2023-11-13 14:19
linux相关
git
elasticsearch
大数据
SpringBoot学习笔记-创建菜单与游戏页面(下)
笔记内容转载自
AcWing
的SpringBoot框架课讲义,课程链接:
AcWing
SpringBoot框架课。
柃歌
·
2023-11-13 13:23
Java
spring
boot
java
vue
后端
前端
上一页
16
17
18
19
20
21
22
23
下一页
按字母分类:
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
其他