算法提高
文章平均质量分 51
素位明哲
这个作者很懒,什么都没留下…
展开
-
算法提高之搜索:DFS之迭代加深、双向dfs、IDA*
目录1、迭代加深1.1、加成序列2、双向DFS2.1 送礼物3、IDA*3.1 排书3.2 回转游戏1、迭代加深1.1、加成序列#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 110;int n;int path[N];//当前的层数 最大的层数bool dfs(int u, int k){原创 2022-02-28 11:19:42 · 2644 阅读 · 0 评论 -
算法提高之搜索:剪枝与与优化
目录1、小猫爬山2、数独3、 木棒4、 生日蛋糕1、小猫爬山2、数独3、 木棒4、 生日蛋糕原创 2022-02-22 15:56:53 · 720 阅读 · 0 评论 -
算法提高之搜索:DFS中的连通性和搜索顺序
1、DFS之连通性模型1.1、迷宫1.2、红与黑2、DFS之搜索顺序2.1、 马走日2.2、单词接龙2.3、 分成互质组原创 2022-02-17 13:37:23 · 396 阅读 · 0 评论 -
算法提高之搜索:BFS中的双向广搜和A-star
目录1、双向广搜1.1、字串变换2、A-star2.1、第k短路2.2、八数码1、双向广搜1.1、字串变换#include <iostream>#include <cstring>#include <algorithm>#include <queue>#include <unordered_map>using namespace std;//规则数 最多是6const int N = 6;//记录有多少个规则int n原创 2022-02-15 19:15:51 · 539 阅读 · 0 评论 -
算法提高之搜索:多源BFS、最小步数模型、双端队列广搜
目录1、矩阵距离2、魔板3、电路维修1、矩阵距离#include <cstring>#include <iostream>#include <algorithm>#define x first#define y secondusing namespace std;typedef pair<int, int> PII;const int N = 1010, M = N * N;int n, m;char g[N][N];PI原创 2022-02-13 14:53:13 · 338 阅读 · 0 评论 -
算法提高之搜索:BFS中的Flood Fill和最短路模型
目录0、基础课中的bfs1、Flood Fill1.1、池塘计数(统计连通块的数量)1.2、城堡问题(统计连通块的数量和最大值)1.3、山峰和山谷(判断连通块的类型)2、最短路模型2.1、迷宫问题(记录路径)2.2、武士风度的牛(日字形走法)2.3、抓住那头牛0、基础课中的bfs1、Flood Fill1M/开一层所消耗的内存 就可以得到总共开多少层。1.1、池塘计数(统计连通块的数量)#include <cstring>#include <iostrea原创 2022-02-10 14:29:29 · 573 阅读 · 0 评论 -
算法提高之动态规划:斜率优化的dp问题
目录1、任务安排12、任务安排23、任务安排34、运输小猫1、任务安排12、任务安排23、任务安排34、运输小猫原创 2022-02-10 14:08:11 · 178 阅读 · 0 评论 -
算法提高之动态规划:单调队列优化dp
目录0、综述1、最大子序和2、修剪草坪3、旅行问题(最大子序和扩展到环形)4、烽火传递5、绿色通道6、理想的正方形(滑动窗口扩展到2维)0、综述滑动窗口的长度不一定是固定的,只要满足窗口的左右端点是递增的即可。1、最大子序和#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 300010, INF = 1e9;原创 2022-01-28 13:55:27 · 1139 阅读 · 0 评论 -
算法提高之动态规划:数位dp
目录1、度的数量2、数字游戏3、Windy数4、数字游戏25、不要626、恨7不成妻1、度的数量#include <cstring>#include <iostream>#include <algorithm>#include <vector>using namespace std;const int N = 35;int K, B;int f[N][N]; void init(){ for (int i = 0; i原创 2022-01-23 14:47:34 · 2568 阅读 · 0 评论 -
算法提高之动态规划:树形dp
这里写自定义目录标题1、1、原创 2022-01-05 21:19:53 · 1832 阅读 · 0 评论 -
算法提高之动态规划:区间dp
目录1、1、原创 2022-01-05 21:18:50 · 200 阅读 · 0 评论 -
算法提高之动态规划:状态压缩dp
目录0、概述0、概述原创 2022-01-03 20:51:01 · 282 阅读 · 0 评论 -
算法提高之动态规划:状态机模型
目录原创 2022-01-02 08:44:47 · 354 阅读 · 0 评论 -
算法提高之动态规划:背包模型四
目录1、货币系统(完全背包问题求方案数)![在这里插入图片描述](https://img-blog.csdnimg.cn/d4b7c3f9e99348af9c59437923ab15c3.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAQ29kZUNvbmc=,size_20,color_FFFFFF,t_70,g_se,x_16)2、货币系统1、货币系统(完全背包问题求方案数)#include原创 2021-12-31 10:50:52 · 281 阅读 · 0 评论 -
算法提高之动态规划:背包模型三
目录0、总览0、总览原创 2021-12-26 20:32:18 · 230 阅读 · 0 评论 -
算法提高之动态规划:背包模型二
目录1、二维费用背包问题(01)1、二维费用背包问题(01)#include <iostream>using namespace std;const int N = 110;int n, V, M;int f[N][N];int main(){ cin >> n >> V >> M; for (int i = 0; i < n; i ++ ) { int v, m, w;原创 2021-12-24 16:22:15 · 758 阅读 · 1 评论 -
算法提高之动态规划:背包模型一
目录0、总览0、总览原创 2021-12-20 14:38:43 · 174 阅读 · 0 评论 -
算法提高之动态规划:最长上升子序列模型(二)
目录1、拦截导弹2、导弹防御系统3、最长公共上升子序列1、拦截导弹2、导弹防御系统3、最长公共上升子序列原创 2021-12-19 15:34:59 · 417 阅读 · 0 评论 -
算法提高之动态规划:最长上升子序列模型(一)
目录0、总览1、怪盗基德的滑翔翼2、登山3、合唱队形4、友好城市5、最大上升子序列和0、总览1、怪盗基德的滑翔翼#include <cstring>#include <iostream>#include <algorithm>using namespace std;const int N = 110;int n;int h[N];int f[N];int main(){ int T; scanf("%d", &原创 2021-12-18 17:03:15 · 763 阅读 · 0 评论 -
算法提高之动态规划:数字三角形模型
0、总览1、摘花生//最大值,f[][]没有做任何初始化#include<iostream>#include<cstring>using namespace std;int n;const int N=110;int f[N][N];int g[N][N];int main(){ scanf("%d",&n); while(n--) { int r,c; scanf("%d%d原创 2021-12-16 17:43:09 · 311 阅读 · 0 评论