RedSenior

导航

随笔分类 -  算法入门学习笔记

【区间dp】p1004方格取数
摘要:一、问题描述 设有 N×N的方格图 (N≤9),我们将其中的某些方格中填入正整数,而其他的方格中则放入数字 0。如下图所示(见样例): 图1 某人从图的左上角的A点出发,可以向下行走,也可以向右走,直到到达右下角的B点。在走过的路上,他可以取走方格中的数(取走后的方格中将变为数字0)。 此人从A点到 阅读全文

posted @ 2024-12-19 20:57 RedLouie 阅读(83) 评论(0) 推荐(0)

25分支限界算法和回溯算法
摘要:回溯算法 实际问题: 其中回溯算法也可以用于解决n皇后问题 #include <iostream> #include <vector> using namespace std; const int N = 8; vector<int> col(N, 0), diag1(2 * N, 0), diag 阅读全文

posted @ 2024-12-01 23:36 RedLouie 阅读(57) 评论(0) 推荐(0)

21-24贪心算法
摘要:21贪心算法 22活动安排问题 究其本质,是一个最大不相交区间问题,要写出具体数量以及的几个 点击查看代码 #include <iostream> #include <algorithm> #include <vector> using namespace std; const int N = 10 阅读全文

posted @ 2024-12-01 23:18 RedLouie 阅读(33) 评论(0) 推荐(0)

16-20动态规划
摘要:动态规划 动态规划基本概念 17矩阵连乘问题 18n阶级楼梯上楼问题 19-20最长公共子序列 #include<iostream> using namespace std; const int N = 1010; int n,m; char a[N],b[N]; int f[N][N]; int 阅读全文

posted @ 2024-11-29 20:07 RedLouie 阅读(19) 评论(0) 推荐(0)

12-15分治法的应用
摘要:分治法的应用 前提条件如图: 13.二分搜索 #include<iostream> using namespace std; const int N = 1e6; int n,m; int q[N]; //对于二分分界来说左加右减 //对于取中值来说,男左女右,男是1,不用+,女需要+1 int m 阅读全文

posted @ 2024-11-27 21:17 RedLouie 阅读(53) 评论(0) 推荐(0)

1-11一些时间复杂度的证明
摘要:时间复杂度的证明 1.大O原理 如图所示,大O原理,只取最高的复杂度 2.加法原理 想要证明这个 首先,根据大O定义: F(N) <= C1f(N) G(N) <= C2g(N) 再把两者合并起来: F(N)+G(N) <= C1f(N)+C2g(N) 设C3 = max(C1,C2) 则F(N)+ 阅读全文

posted @ 2024-11-25 22:40 RedLouie 阅读(221) 评论(0) 推荐(0)