算法学习
Libra_YY
菜鸟写博客,只为了记录编程的成长。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
最长公共子序列(动态规划)
注意: 1、字符串X和Y的下标范围是0~m-1和0~n-1,如果不在输入时做特殊处理的话(即:gets(X)),在LCSLength中判断条件就要改成x[i-1]==y[j-1],LCS中 cout<<x[i-1];不改的话,也能输出正确的长度主要是因为X,Y都是全局变量,默认初始化后XY里面全是0,所以X[m]==Y[n],事实就是如果你输入abcd abc,程序实际算...原创 2018-12-22 15:06:00 · 338 阅读 · 0 评论 -
最长递增子序列(动态规划)
#include<iostream> #include<algorithm> using namespace std; int dp[200]; int ans=-1;//ans记录最大的dp[i] int LIS(int A[],int n) { for(int i=1;i<=n;i++) { dp[i]=1; for(int j=1;j<i;...原创 2018-12-22 11:12:39 · 273 阅读 · 0 评论 -
租用游艇问题(动态规划)
问题描述: 长江游艇俱乐部在长江设置了n个游艇出租站1,2,…n,游客可在这些游艇出租站租用游艇,并在下游的任何一个游艇出租站归还游艇。游艇出租站i到游艇出租站j之间的租金为r(i,j) ,1<=i<j<=n,设计一个算法,计算出从出租站1到出租站n所需要的最少租金。 测试用例: 3(站数) 5 15(第一站到其他相应各站的租金) 7(第二站到其他相应各站的租金) 输...原创 2018-12-22 10:53:56 · 8687 阅读 · 0 评论 -
快速排序(递归与分治)
法一: #include<cstdio> #include<algorithm> using namespace std; int Partition(int A[],int left,int right){ int i=left,j=right+1;//注意j=right+1 int temp=A[left]; while(true) { while(A[...原创 2018-12-20 17:01:23 · 396 阅读 · 0 评论 -
活动安排问题(贪心算法)
#include<iostream> #include<cstring> #include<algorithm> using namespace std; int n;//n个活动 bool flag[100]; struct activity{ int b; //活动开始时间 int e; //活动结束时间 }A[100]; bool cmp(ac...原创 2018-12-22 17:20:20 · 1809 阅读 · 0 评论
分享