![](https://img-blog.csdnimg.cn/20190927151124774.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法相关
文章平均质量分 60
用于收录acwing,洛谷等等平台做的算法题目
Adongua
码码不易,瓜某不瓜
展开
-
题450.ABC312-D - Count Bracket Sequences
要想是合法的括号序列,首先需要满足序列长度n是偶数,这样才能保证左右括号数量相同。其次,对于某个序列状态,需要满足左括号的数量大于等于右括号的数量,这样才有可能凑出闭合括号。这样我们可以定义dp数组为。原创 2023-07-31 00:03:09 · 52 阅读 · 0 评论 -
题437.Leetcode-Q6390. 对顶堆/哈希-滑动子数组的美丽值(区间第x小数?)
法3:针对这里数组中数的大小为-50~50,很小,所以可以开一个递增map去存当前区间的各个数的个数,然后查找的时候遍历map(数范围很小,所以不慢),统计当前数的个数cnt和x比较,大于等于时对应数即为第x小数。法1:维护一个单调不减的数组,插入时二分O(logn)时间找到位置,O(n)时间插入,总时间为O(nlogn),删除同理;法2:用两个set构造一个对顶堆,第一个set用于存放当前区间最小的x个数,第二个set用于存放当前区间剩下的数。插入删除O(logn),查找第x小数O(1)。原创 2023-04-23 15:29:25 · 103 阅读 · 0 评论 -
题436. 矩阵乘法-acwing-1303. 斐波那契前 n 项和
先考虑采用一般的法子去求解斐波那契的前n项和,易知。,因此我们想如何加速计算。原创 2023-04-20 17:17:28 · 79 阅读 · 0 评论 -
题435. 同余-acwing-222. 青蛙的约会
定义:正如其名,它是欧几里得算法的扩展,在得到整数a,b的最大公约数(我们通过欧几里得算法,即辗转相除法求解a,b最大公约数)后,还希望得到整数x,y,使得ax+by=gcd(a,b)3)若x0,y0为方程ax+by=c的一组解,则方程任意解可表示为x=x0+b’t,y=y0-a’t,t∈任意整数,a’=a/gcd(a,b),b’=b/gcd(a,b)4)特别的,若gcd(a,b)=1,且x0,y0为方程ax+by=c的一组解,则方程任意解可表示为x=x0+bt,y=y0-at,t∈任意整数。原创 2023-04-18 11:04:12 · 150 阅读 · 0 评论 -
题426.csp-2212 P1现值计算&P2训练计划&P3JPEG 解码&P4聚集方差
【代码】题404.csp-2212 P1现值计算&P2训练计划&P3JPEG 解码&P4聚集方差。原创 2023-03-07 22:43:30 · 245 阅读 · 0 评论 -
题411.筛质数-acwing-196. 质数距离
【代码】题411.筛质数-acwing-196. 质数距离。原创 2023-01-13 12:00:40 · 84 阅读 · 0 评论 -
题410.筛质数-acwing-1293. 夏洛克和他的女朋友
【代码】题410.筛质数-acwing-1293. 夏洛克和他的女朋友。原创 2023-01-13 11:22:38 · 74 阅读 · 0 评论 -
题408.单调队列优化的dp问题-acwing-1089. 烽火传递&1090. 绿色通道
【代码】题408.单调队列优化的dp问题-acwing-1089. 烽火传递&1090. 绿色通道。原创 2023-01-09 23:56:02 · 123 阅读 · 0 评论 -
题407.单调队列优化的dp问题-acwing-135. 最大子序和&1087. 修剪草坪&1088. 旅行问题
【代码】题407.单调队列优化的dp问题-acwing-135. 最大子序和&1087. 修剪草坪&1088. 旅行问题。原创 2023-01-09 21:50:21 · 98 阅读 · 0 评论 -
题402.数位dp-acwing-1082. 数字游戏&1083. Windy数&1085. 不要62
【题402】数位dp原创 2023-01-04 12:07:20 · 321 阅读 · 1 评论 -
题401.数位dp-acwing-1081. 度的数量
【代码】题401.数位dp-acwing-1081. 度的数量原创 2023-01-02 22:40:11 · 85 阅读 · 0 评论 -
Adongua的算法模板
unique函数可以删除有序数组中的重复元素。注意:(1) 这里的删除不是真的delete,而是将重复的元素放到容器末尾(2) unique函数的返回值是去重之后的尾地址(3) 一定要先对数组进行排序才可以使用unique函数。原创 2022-10-21 17:56:09 · 160 阅读 · 0 评论 -
题394.ABC272-D - Root M Leaper
【代码】题394.ABC272-D - Root M Leaper。原创 2022-10-14 10:55:56 · 228 阅读 · 0 评论 -
题393.ARC150-A - Continuous 1(memset超时问题)
【代码】题393.ARC150-A - Continuous 1(memset超时问题)原创 2022-10-14 09:24:13 · 355 阅读 · 0 评论 -
题381.树状数组-acwing-Q241--楼兰图腾
树状数组原创 2022-07-29 20:06:59 · 130 阅读 · 0 评论 -
题380.ABC260-D - Draw Your Cards
ABC原创 2022-07-27 12:33:40 · 184 阅读 · 0 评论 -
题373.拓扑排序-acwing-Q1191--家谱树
拓扑排序原创 2022-07-26 12:08:29 · 122 阅读 · 0 评论 -
题357.差分约束-acwing-Q3265--再卖菜
差分约束原创 2022-07-11 19:38:04 · 120 阅读 · 0 评论 -
题355.lca问题-acwing-Q1636--最低公共祖先
lca原创 2022-07-11 18:16:51 · 88 阅读 · 0 评论 -
题348.差分约束-acwing-Q362--区间
差分约束原创 2022-06-27 12:04:32 · 119 阅读 · 0 评论 -
题341.最小生成树扩展-acwing-Q1148--秘密的牛奶运输
最小生成树扩展原创 2022-06-22 21:19:50 · 79 阅读 · 0 评论 -
题339.最小生成树扩展-acwing-Q1145--北极通讯网络
最小生成树扩展原创 2022-06-20 19:10:21 · 81 阅读 · 0 评论 -
题333.floyd扩展之求传递闭包-acwing-Q343--排序
floyd扩展原创 2022-06-16 17:59:16 · 131 阅读 · 0 评论 -
题328.单源最短路的扩展应用-acwing-Q1137--选择最佳线路
单源最短路的扩展应用原创 2022-06-11 17:09:27 · 99 阅读 · 0 评论 -
题322.dfs搜索顺序-acwing-Q1116-- 马走日
文章目录题322.dfs搜索顺序-acwing-Q1116-- 马走日一、题目二、题解题322.dfs搜索顺序-acwing-Q1116-- 马走日一、题目二、题解#include <bits/stdc++.h>using namespace std;const int maxn=10;const int dx[]={-1,-1,-2,-2,1,1,2,2};//dx从小到大罗列const int dy[]={-2,2,-1,1,-2,2,-1,1};//然后dy对照d原创 2022-05-20 21:30:22 · 108 阅读 · 0 评论 -
题310.区间dp-acwing-Q1068--环形石子合并
文章目录题310.区间dp-acwing-Q1068--环形石子合并一、题目二、题解题310.区间dp-acwing-Q1068–环形石子合并一、题目二、题解#include <bits/stdc++.h>using namespace std;const int maxn=410;const int Inf=0x3f3f3f3f;int n;int a[maxn],sum[maxn];int dp_min[maxn][maxn],dp_max[maxn][max原创 2022-05-09 23:29:13 · 127 阅读 · 0 评论 -
题308.状压dp-acwing-Q327--玉米田
文章目录题308.状压dp-acwing-Q327--玉米田一、题目二、题解题308.状压dp-acwing-Q327–玉米田一、题目二、题解本题类似小国王这题,但是它没有限制玉米摆放的个数,因此dp数组可以少开一个表示摆放个数的维度,以及只限制了种下的玉米的地上下左右四个方向不能种玉米,所以只需特判a&b是否为0以及状态是否满足相邻位不能同时为1。但是由于预先说明了某些地没法种植,所以要想办法在后期判掉那个种在了不育地的状态,处理方式就是输入的时候求个2的幂次方和,这样那个结果就可原创 2022-05-07 20:47:48 · 137 阅读 · 0 评论 -
题307.状压dp-acwing-Q1064--小国王
文章目录题307.状压dp-acwing-Q1064--小国王一、题目二、题解题307.状压dp-acwing-Q1064–小国王一、题目二、题解用dp五步法分析该题:1.确定dp数组,明确其含义。想着说用dp[i][j]表示放到了第i行,且已经使用了j个棋子时对应的方案数,但是其中的状态过于复杂,难以计算,于是将状态进一步分解,多开一个维度表示状态,则可用dp[i][j][a]表示放到第i行,共用了j个棋子,且最后一行对应的状态为下标为a的合法状态下对应的方案数。2.确定递推公式。采用原创 2022-05-07 12:26:32 · 299 阅读 · 0 评论 -
题306.状态机模型-acwing-Q1058--股票买卖 V
文章目录题306.状态机模型-acwing-Q1058--股票买卖 V一、题目二、题解题306.状态机模型-acwing-Q1058–股票买卖 V一、题目二、题解采用y式dp分析法-状态机模型求解问题。相较于股票买卖IV,本题对交易笔数没有进行限制,所以可以少用来表示交易笔数的一维,但由于题目规定了冷冻期1天,即买完股票后需要持股一天以后才能卖股,因此状态由原先单纯的持股与未持股可变为持股与未持股1天及>=2天,分别用0,1,2表示,显然会有如下的状态转移图:则可得到递推公式如下原创 2022-05-05 22:01:25 · 146 阅读 · 0 评论 -
题305.状态机模型-acwing-Q1057--股票买卖 IV
文章目录题305.状态机模型-acwing-Q1057--股票买卖 IV一、题目二、题解题305.状态机模型-acwing-Q1057–股票买卖 IV一、题目二、题解采用y式dp分析法-状态机模型求解问题。代码如下:#include <bits/stdc++.h>using namespace std;const int Inf=0x3f3f3f3f;const int maxn=1e5+1,maxk=101;int N,k;int w[maxn];in原创 2022-05-05 16:51:50 · 679 阅读 · 0 评论 -
题304.状态机模型-acwing-Q1049--大盗阿福
文章目录题304.状态机模型-acwing-Q1049--大盗阿福一、题目二、题解题304.状态机模型-acwing-Q1049–大盗阿福一、题目二、题解由于根据题意,我们知道偷完当前这一家那么相邻的上一家肯定不会被偷,那么一般定义dp数组时dp[i]表示偷第i家店后可获得的最大价值,它的值应该为dp[i-2]+w[i]与dp[i-1]中的最大值,有什么办法可以直接让状态由上一个状态转移过来呢,因此我们试图使用y式dp分析法的状态机模型(实质是将不好表示的状态分离开)来进行处理。仍然按dp原创 2022-05-05 16:40:19 · 508 阅读 · 0 评论 -
题284.dp数字三角形模型-acwing-Q1015--摘花生
文章目录题284.dp数字三角形模型-acwing-Q1015--摘花生一、题目二、题解题284.dp数字三角形模型-acwing-Q1015–摘花生一、题目二、题解本题按dp五步法分析如下:1.确定dp数组,明确含义:dp[i][j]表示从左上角走到右下角(i,j)位置时可摘到的最大花生数目2.确定递推公式:采用y式dp分析法由上图可知,公式为:dp[i][j]=max(dp[i-1,j]+w[i,j],dp[i][j-1]+w[i][j])3.初始化dp数组:显然都初始化为0原创 2022-04-24 14:42:52 · 78 阅读 · 0 评论 -
题275.bfs最短路-acwing-Q188--武士风度的牛
文章目录题275.bfs最短路-acwing-Q188--武士风度的牛一、题目二、题解题275.bfs最短路-acwing-Q188–武士风度的牛一、题目二、题解套bfs最短路模板就好#include <bits/stdc++.h>#define x first#define y secondusing namespace std;typedef pair<int,int> pii;const int maxn=201;const int dx原创 2022-04-20 21:48:21 · 143 阅读 · 0 评论 -
题256.洛谷P1495 中国剩余定理-【模板】中国剩余定理(CRT)/曹冲养猪
文章目录题256.洛谷P1495 中国剩余定理-【模板】中国剩余定理(CRT)/曹冲养猪一、关于中国剩余定理CRT二、题目三、题解题256.洛谷P1495 中国剩余定理-【模板】中国剩余定理(CRT)/曹冲养猪一、关于中国剩余定理CRT1.概述用于求解如下形式的一元线性同余方程组(b1,b2,…,bk两两互质):通俗讲就是可以求一个数x,该数对bi求余等于ai,i从1到k。2.算法步骤设除数为ai,余数为bi,i∈[0,N)且i∈Z。要求的数为res①求出所有除数ai的乘积n②原创 2022-03-14 23:19:05 · 618 阅读 · 0 评论 -
题252.欧拉函数-ETF - Euler Totient Function
文章目录题252.欧拉函数-ETF - Euler Totient Function一、题目二、题解题252.欧拉函数-ETF - Euler Totient Function欧拉函数φ(n)表示的是小于等于n和n互质的数的个数。比如φ(1)=1 [1],φ(4)=2 [1、3]。一、题目In number theory, the totient φ of a positive integer n is defined to be the number of positive integer原创 2022-03-12 21:00:54 · 261 阅读 · 0 评论 -
题254.洛谷P1082 扩展欧几里得算法-[NOIP2012 提高组] 同余方程
文章目录题254.洛谷P1082 扩展欧几里得算法-[NOIP2012 提高组] 同余方程一、关于线性同余方程的求解综述二、题目三、题解题254.洛谷P1082 扩展欧几里得算法-[NOIP2012 提高组] 同余方程一、关于线性同余方程的求解综述1.对线性同余方程的解释ax ≡ c (mod b)表示关于x的解集,其中x需满足(a*x)%b=c。求解该问题等价于求解方程ax+by=c,其中只要x的集合能够被求出,那么y的集合也可以通过x求出。2.求解线性同余方程的方法:扩展欧几里得算法原创 2022-03-12 20:52:55 · 438 阅读 · 0 评论 -
题248.离散化-洛谷P1955 [NOI2015] 程序自动分析
文章目录题248.离散化-洛谷P1955 [NOI2015] 程序自动分析一、题目二、题解题248.离散化-洛谷P1955 [NOI2015] 程序自动分析一、题目二、题解首先推导公式我们可以知道我们要求的系数其实就是a的n次方乘以b的m次方再乘上m,k组合数。对于a的n次方和b的m次方,我们可以使用快速幂直接得出。之后,看k,m组合数,它可作如下推导:则我们把除以(k-m)!分解,其实就是每次去乘i逆元(即倒数),又因为取模是素数,所以可以费马小定理a-1%mod=amod-原创 2022-03-10 20:17:37 · 220 阅读 · 0 评论 -
题245.数论-洛谷P1313 [NOIP2011 提高组] 计算系数
文章目录题245.数论-洛谷P1313 [NOIP2011 提高组] 计算系数一、题目二、题解题245.数论-洛谷P1313 [NOIP2011 提高组] 计算系数一、题目二、题解首先推导公式我们可以知道我们要求的系数其实就是a的n次方乘以b的m次方再乘上m,k组合数。对于a的n次方和b的m次方,我们可以使用快速幂直接得出。之后,看k,m组合数,它可作如下推导:则我们把除以(k-m)!分解,其实就是每次去乘i逆元(即倒数),又因为取模是素数,所以可以费马小定理a-1%mod=原创 2022-03-07 17:09:02 · 429 阅读 · 0 评论 -
题194.洛谷P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two
文章目录题194.洛谷P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two一、题目二、题解题194.洛谷P1518 [USACO2.4]两只塔姆沃斯牛 The Tamworth Two一、题目二、题解本题没什么好说的,记录一下自己咋犯病的#include <bits/stdc++.h>using namespace std;const int Inf=200000;const int dx[4]={-1,0,1,0};//{0,1,0,原创 2022-01-13 17:57:36 · 144 阅读 · 0 评论 -
题192.洛谷P1009 模拟-[NOIP1998 普及组] 阶乘之和
文章目录题192.洛谷P1009 [NOIP1998 普及组] 阶乘之和一、题目二、题解题192.洛谷P1009 [NOIP1998 普及组] 阶乘之和一、题目二、题解因为本题n可以很大,所以计算阶乘和之后的结果没办法表示然后输出,所以必须转字符串去模拟计算过程–外壳不变,依旧递归求阶乘,循环求和,其中的用到的起关键作用的求和与求积用模拟竖式计算来解决。代码如下:#include <bits/stdc++.h>using namespace std;string Ad原创 2022-01-10 19:26:21 · 422 阅读 · 0 评论