
AcWing算法学习
在AcWing平台学习总结
算法真不会
这个作者很懒,什么都没留下…
展开
-
归并排序模板
#include <iostream>using namespace std;const int N = 1e5 + 10;int a[N], tmp[N];void merge_sort(int q[], int l, int r){ if (l >= r) return; int mid = (l + r)/2; //递归排序左右区间 merge_sort(q, l, mid), merge_sort(q, mid + 1, r); //原创 2021-07-07 17:07:29 · 132 阅读 · 0 评论 -
快速排序模板
第一种边界void quick_sort(vector<int>& q,int l, int r) { if(l >= r) return; int i = l - 1, j = r + 1, x= q[(l+r+1)/2]; while(i < j) { do i++; while(q[i] < x); do j--; while(q[j] .原创 2021-07-07 15:39:53 · 109 阅读 · 0 评论 -
【DFS+剪枝】【Aw842.排列数 & Aw843.N-皇后问题】
DFS练习aw842.排列数题目描述思路分析代码实现aw843.N-皇后问题题目描述思路分析代码实现aw842.排列数题目描述题目链接:https://www.acwing.com/problem/content/844/思路分析代码实现#include<iostream>using namespace std;const int N = 10; int n;int path[N];//保存序列bool state[N];//位置是否被用过void dfs(i原创 2021-06-09 16:24:50 · 1260 阅读 · 12 评论 -
AcWing 482.合唱队形(线性DP)
题解:合唱队形题目描述思路分析代码实现题目描述思路分析代码实现#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=110;int n;int h[N];int f[N],g[N];int main(){ cin>>n; for(int i=1;i<=n;i++) cin>>原创 2021-01-27 18:48:10 · 156 阅读 · 2 评论 -
AcWing 1603.整数集合划分
题解:整数集合划分题目描述思路分析代码实现题目描述思路分析代码实现#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1e5+10;int a[N];int main(){ int n; cin>>n; for(int i=0;i<=n;i++) cin>>a[i];原创 2021-01-26 22:48:01 · 151 阅读 · 1 评论 -
AcWing 1353.滑雪场设计
题解:滑雪场设计题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1355/思路分析代码实现#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 1010;int n;int h[N];int main(){ cin >原创 2021-01-26 11:14:33 · 159 阅读 · 0 评论 -
AcWing 1381.阶乘
题解:阶乘题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/description/1383/思路分析代码实现原创 2021-01-25 21:52:26 · 198 阅读 · 1 评论 -
AcWing 1371.货币系统
题解:货币系统题目描述思路分析代码描述题目描述题目链接:https://www.acwing.com/problem/content/description/1373/思路分析动态规划代码描述二维空间写法#include<iostream>#include<cstring>#include<algorithm>using namespace std;typedef long long LL;const int N=30,M=1001原创 2021-01-24 12:53:29 · 908 阅读 · 1 评论 -
AcWing 1432.棋盘挑战
题解:棋盘挑战题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1434/思路分析首先会有的思路是DFS代码实现#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 15;int n;bool col[N], dg[N * 2], ud原创 2021-01-23 23:49:39 · 189 阅读 · 0 评论 -
AcWing 754.平方矩阵Ⅱ
题解:平方矩阵Ⅱ题目描述代码实现题目描述题目链接:https://www.acwing.com/problem/content/756/代码实现#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 110;int n;int a[N][N];int main(){ while (cin >&g原创 2021-01-21 22:33:34 · 149 阅读 · 0 评论 -
AcWing 1341.十三号星期五
题解:十三号星期五题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1343/思路分析两种思路:一个是按月份枚举和按天枚举按月份枚举按天枚举从1900.1.1开始枚举,13号就++,月数过12,year++,week过周天就day++代码实现按月份枚举#include<iostream>#include<algorithm>#include<cstring&g原创 2021-01-20 22:27:28 · 232 阅读 · 2 评论 -
AcWing 1532.找硬币
题解:找硬币题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1534/思路分析看完题目首先想到的是双指针方法,i++ ,==j- -==价格判定条件就可以实现了代码实现#include<iostream>#include<algorithm>#include<cstring>using namespace std;int n,m;const int N=1000原创 2021-01-19 21:59:45 · 149 阅读 · 0 评论 -
AcWing 1208.翻硬币
题解:翻硬币 第四届蓝桥杯省赛B组C/C++ 题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1210/思路分析基础思路就是递推,代码不是很难写代码实现#include<iostream>#include<algorithm>#include<cstring>using namespace std;string a,b;//定义初始状态和目标状态const int原创 2021-01-18 22:23:47 · 194 阅读 · 1 评论 -
AcWing 429.奖学金
题解:奖学金题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/431/思路分析第一种方法:重载小于号第二种方法:自定义比较函数代码实现重载小于号#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 310;int n;struct原创 2021-01-18 20:34:04 · 154 阅读 · 0 评论 -
AcWing 422.校门外的树
题解:校门外的树题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/424/思路分析先理清题意:第一种思维:开辟bool数组第二种思维:区间合并算法代码实现第一种方法:基础做法#include<iostream>#include<cstring>#include<algorithm>using namespace std;const int N=1原创 2021-01-17 19:01:10 · 254 阅读 · 2 评论 -
AcWing 1227.分巧克力
题解:分巧克力题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1229/思路分析先要理清题意,这个题的要求是N个 H i ×W i的长方形,从这些长方形中切出至少K个正方形看到这种类似最优解问题,想到了二分思想这是二分的分析代码实现#include <iostream>using namespace std;typedef long long LL;const int N = 1000原创 2021-01-16 23:49:20 · 183 阅读 · 1 评论 -
AcWing 790.数的三次方根
题解:数的三次方根题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/792/思路分析这个题的思路可以参考AcWing 680.剪绳子的思路拿到这个题想到的是浮点数的二分,那二分思想就是先寻找那个分界点,寻找性质的边界我们直接将范围暴力设置成 -10000~+10000代码实现#include<iostream>using namespace std;int main(){ doub原创 2021-01-15 13:51:40 · 462 阅读 · 1 评论 -
AcWing 680.剪绳子
题解:剪绳子题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/682/思路分析代码实现原创 2021-01-14 22:09:49 · 280 阅读 · 1 评论 -
AcWing 124.数的进制转换
题解:进制的转换题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/description/126/思路分析先理解题意,是要将a进制转换为b进制那么我们有两种思路第一种第二种代码实现#include<vector>#include<iostream>#include<algorithm>using namespace std;int main(){原创 2021-01-14 18:12:41 · 1954 阅读 · 7 评论 -
AcWing 1346.回文平方
题解:回文平方题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1348/思路分析看完题经过分析,这个题主要考察两个点进位制转换和回文判断进位制转换—>短除法,回文判断—>双指针代码实现#include<iostream>#include<cstring>#include<algorithm>using namespace std;char get(in原创 2021-01-13 20:50:40 · 242 阅读 · 0 评论 -
AcWing 1113.红与黑(洪水灌溉)
题解:红与黑题目描述思路分析代码实现题目描述题目链接:https://www.acwing.com/problem/content/1115/思路分析代码实现原创 2021-01-12 23:55:16 · 426 阅读 · 0 评论 -
AcWing 756.蛇形矩阵
题解:蛇形矩阵题目描述思路分析代码实现题目描述思路分析代码实现原创 2021-01-11 22:27:26 · 1245 阅读 · 8 评论 -
AcWing 898.数字三角形(经典DP)
题解:数字三角形题目描述思路分析代码实现题目描述题目链接https://www.acwing.com/problem/content/900/思路分析首先,这个题是一道非常经典的动态规划问题要求最大数字和,有三种方案:第一种:暴力搜索 但是一共有2的n-1次方中方案,时间复杂度太高了第二种:从上到下DP,但是需要判定边界,代码量过多第三种:从下到上DP,不需要考虑特判,综合下来我们就采取倒序DP的方法代码实现#include<iostream>using na原创 2021-01-11 13:33:59 · 244 阅读 · 0 评论 -
AcWing 104. 货仓选址(贪心思维)
题目描述题目链接https://www.acwing.com/problem/content/106/思路(贪心)x为货仓位置,则关于距离的函数就为f(x)=|x1-x|+|x2-x|+|x3-x|+…+|xn-x|问题可以转化为目标点x与x1和xn之间的距离和,加上目标点与x2与xn-1之间的距离和,加上…f(x)=(|x1-x|+|xn-x|)+(|x2-x|+|xn-1-x|)+… ≥ (xn-x1)+(xn-1-x2)+…当x取到等号之间,等号就是成立的补充一个知原创 2021-01-10 11:30:24 · 283 阅读 · 0 评论