自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 算法设计与分析前六章

算法设计与分析前六章

2023-12-23 19:44:38 952 1

原创 游艇租借与数字三角形(dp)

源码中使用原数组代替sum数组,max_line()函数后,s数组的现在的值即为最优的值,即本点到最后一行的最大和值,s[1][1]即为最优解。Solve(n)函数计算最优值,最优解即为,m(1,n-1)。源码中即为m[1][n-1];m(i,j)表示从出租站i出发,到达第i+j站需要的最少租金。例如m(1,3)就表示从第1站出发,到达第4站所需的最少租金。且m(i,1) = r(i,i+1);m(n,1) = 0。设r(i,j)表示游艇出租站i到j之间的租金。最坏时间复杂度应为O(n^3);

2023-11-08 21:35:22 135 1

原创 区间内点覆盖(贪心)

#include<iostream>#include<algorithm> using namespace std;int main(){ int n,k; cin>>n>>k; int num[n+1]; for(int i=1;i<=n;i++){ cin>>num[i]; } sort(num+1,num+n+1); /*for(int i=1;i<=n;i++){ cout<<.

2021-12-22 11:12:12 309

原创 删数问题(贪心)

#include<iostream>#include<string>using namespace std;int main(){ char a[210];int n=1,k; for(int i=0;i<210;i++) a[i]='\0'; while(cin.peek()!='\n'){ cin>>a[n]; n++; } cin>>k; int count=0; while(count<k){ .

2021-12-22 11:03:39 242

原创 拔河问题 dp

#include<iostream>#include<cstring>#include<algorithm>using namespace std;int w[10050],dp[10050];int main(){ int m,n,t; cin>>m; while(m--){ cin>>n; int sum=0; for(int i=1;i<=n;i++){ .

2021-12-22 10:49:04 374

原创 活动安排问题(贪心)(C++)

#include<iostream>#include<algorithm>using namespace std;struct node{ int st; int ft;};bool cmp(struct node x,struct node y){ return x.ft<y.ft;}int main(){ int n; cin>>n; struct node act[n+1]; for(int i=1;i<=n;i++){.

2021-12-21 21:08:07 998

原创 子集和问题C++(回溯)

#include<iostream>#include<algorithm>#define MAX 10050using namespace std;int n,c; int item[MAX];int d[MAX];bool can,visited[MAX];void print(int k){ for(int i=1;i<k;i++) cout<<item[d[i]]<<" ";//输出解 cout<<endl.

2021-12-20 17:10:20 975 2

原创 最长上升子序列C++

#include<iostream>#include<cstring>#include<string>using namespace std;const int MAXN = 10050;int main(){ int n; cin>>n; while(n--){ string s; cin>>s; int len=s.length(),tMAX=-0x3f3f3f3f,dp[MAXN]; dp[0]=1; .

2021-12-20 16:40:48 1014

原创 算法设计与分析第四章:贪心算法

算法的基本要素:最优子结构性质:当一个问题的最优解包含其子问题的最优解时,称此问题具有最优子结构性质。问题的最优子结构性质是该问题可用动态规划算法或贪心算法求解的关键特征。贪心选择性质:所谓贪心选择性质是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。动态规划算法通常以自底向上的方式解各子问题,而贪心算法则通常以自顶向下的方式进行,以迭代的方式作出相继的贪心选择,每作一次贪心选择就将所求问题..

2021-11-21 16:10:57 1160

原创 算法设计与分析第三章:动态规划

最优子结构性质:如果问题的最优解所包含的子问题的解也是最优的,我们就称该问题具有最优子结构性质(即满足最优化原理)。最优子结构性质为动态规划算法解决问题提供了重要线索。...

2021-10-31 15:43:58 1407 2

原创 算法设计与分析第二章:递归与分治策略

主定理—递归式求解主定理:设a>=1,b>1和d>=0,设f(n)为一函数,T(n)由递归式 , 那么1>.如果,2>.如果,3>.如果,分治法经典范例1>二分搜索该问题的常见形式是在一个有序数组中寻找某个元素。假设数组array[ ]存储升序序列,变量left表示查找范围的左边界,right表示查找范围的有边界,mid表示查找范围的中间位置,target为要查找的元素。用分治法实现过程如下:   1>初始化。令le...

2021-10-10 13:58:55 791

原创 算法复杂性分析

注:O(g(n))={f(n):存在大于0的常数c和非负整数n0,使得任意n>=n0,有0<=f(n)<=cg(n)}则g(n)为f(n)的渐进上界。其余同理。O的运算规则:1.O(f)+O(g)=O(max(f,g))2.O(f)+O(g)=O(f+g)3.O(f)O(g)=O(fg)4.如果g(N)=O(f(N)),则O(f)+O(g)=O(f)5.O(Cf(N)=O(f(N)),其中C是一个正的常数6.f=O(f)Addition:...

2021-09-21 14:35:35 850 3

原创 算法概述1

目录算法的概念特征算法的表达算法设计分析过程算法的概念特征算法是一系列解决问题的明确指令,及对符合一定规范的输入,能够在有限的时间内获得要求的输出。算法的表达程序是算法用某种程序设计语言的具体实现程序可以不满足有限性的特征算法设计分析过程注:此图只是列出了算法设计分析过程的所有步骤,在算法的实际设计过程中,是会被频繁修改和增加的,所有其中的步骤往往需要进行多次并非顺序进行。一个好的算法是反复努力和重新修正的结果。...

2021-09-21 13:38:53 141

人工智能期末复习资料自用

111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111

2023-12-31

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除