当前位置: 首页 > news >正文

如何建设企业网站ppt百度推广

如何建设企业网站ppt,百度推广,北京学生聚集,便宜建站方法今天的三个题目属于模板题,可能将来会遇见它们的变形应用。 1、最长上升子序列问题 这道题目的关键就在于我们的状态定义,我们定义:f(i)表示长度为i的子序列的末尾最大值。意思就是,比如一个子序列为:1,4,5&#xff0…

今天的三个题目属于模板题,可能将来会遇见它们的变形应用。

1、最长上升子序列问题

 这道题目的关键就在于我们的状态定义,我们定义:f(i)表示长度为i的子序列的末尾最大值。意思就是,比如一个子序列为:1,4,5,那么按我们的集合定义就应该是:f(3) = 5。这样定义了话我们就可以很容易的解题,我们只需要从头到尾遍历数组,找到当前数大于的最小值,然后更新找到的f。举个例子,f(2) = 3 f(3) = 5,这时候我们当前数是4,那么我们就把4接到3之后,也就是f(3) = 4。这里其实用到了贪心的思想,我们让不同长度的末尾值尽可能小,这样最长长度一定会尽可能长。代码你可以直接暴力寻找,也可以二分查找都可以。

#include <iostream>//直接暴力using namespace std;const int N = 1010;
int f[N] ,a[N] ,n;int main()
{cin >> n;for (int i = 1 ;i <= n ;i ++) cin >> a[i];for (int i = 1 ;i <= n ;i ++){f[i] = 1;for (int j = 1 ;j <= i ;j ++){if (a[i] > a[j]) f[i] = max(f[i] ,f[j] + 1);}}int res = -1;for (int i = 1 ;i <= n ;i ++) res = max(res ,f[i]);cout << res;return 0;
}
#include <iostream>//二分
#include <cstdio>
#include <algorithm>
#include <cstring>using namespace std;#define N 100100int f[N] ,len ,a[N] ,n;int main()
{cin >> n;for (int i = 1 ;i <= n ; i++) cin >> a[i];f[0] = -2e9;for (int i = 1 ;i <= n ;i ++){int l = 0 ,r = len;while (l < r){int mid = (l + r + 1) / 2;if (a[i] > f[mid]) l = mid;elser = mid - 1;}len = max(len ,r + 1);f[r + 1] = a[i];}cout << len;return 0;
}

2、最长公共子序列

这个题目的dp思路是:定义一个集合f(i ,j)表示字符串A的前i个字符以及字符串B的前j个字符中最长公共字符串长度。状态划分就可以是:1、a[i] == b[j]时,f[i][j] = f[i - 1][j - 1] +1。2、a[i] != b[j]时,最大公共字符串一定在A的前i - 1个字符和B的前j个字符 或者说A的前i个字符和B的前j - 1个字符中,因此,f[i][j] = max(f[i - 1][j] ,f[i][j - 1])。

#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>using namespace std;#define N 1100int f[N][N] ,n ,m;
char a[N] ,b[N];int main()
{cin >> n >>m;scanf("%s" ,a + 1);scanf("%s" ,b + 1);f[0][0] = 0;for (int i = 1 ;i <= n ;i ++)for (int j = 1 ;j <= m ;j ++){if (a[i] == b[j]) f[i][j] = f[i - 1][j - 1] + 1;f[i][j] = max(f[i - 1][j] ,f[i][j]);f[i][j] = max(f[i][j - 1] ,f[i][j]);}cout << f[n][m];return 0;
}

3、最长公共上升子序列

 这道题的思路是前两道题的结合版本,更加的复杂,很难想到。f(i ,j)表示第一个序列前i个字母以及第二个序列前j个字母,并且以b[j]结尾的公共上升子序列的最大值。那么我们的状态划分就可以分为两大类:一、a[i] != b[j]的时候,最大公共上升序列跟a[i]无关,那么状态转移:f[i][j] = f[i - 1][j]。二、a[i] == b[j]的时候,最大公共上升序列的末尾就是a[i] ,那么我们就根据倒数第二个值是哪一个划分状态,f[i][j] = max(f[i - 1][1] ,f[i - 1][2] .......f[i - 1][j - 1])。根据这个思路我们写出代码:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>using namespace std;#define N 3500
#define ll long longll f[N][N] ,n ,a[N] ,b[N];int main()
{cin >> n;for (int i = 1 ;i <= n ;i ++) cin >> a[i];for (int j = 1 ;j <= n ;j ++) cin >> b[j];for (int i = 1 ;i <= n ;i ++){for (int j = 1 ;j <= n ;j ++){ll maxv = 1;//作为中间值存取f(i - 1 ,1 ~ j - 1)的最大值f[i][j] = f[i - 1][j];if (a[i] == b[j]){for (int k = 1 ;k < j ;k ++){if (a[i] > b[k]) maxv = max(maxv ,f[i - 1][k] + 1);//注意,必须a[i] > b[k]否则就不能满足递增序列的条件。}f[i][j] = max(f[i][j] ,maxv);}}}ll ans = -1e9;for (int i = 1 ;i <= n ; i ++) ans = max(ans ,f[n][i]);cout << ans;return 0;
}

 三重循环n方复杂度,很明显时间复杂度太高,我们考虑优化。根据代码我们可以看出,在i确定的情况下,f[i][k - 1]的值是跟j没有关系的,我们就可以优化掉第三层循环:

#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>using namespace std;#define N 3050int f[N][N] ,n ,a[N] ,b[N];int main()
{cin >> n;for (int i = 1 ;i <= n ;i ++) cin >> a[i];for (int j = 1 ;j <= n ;j ++) cin >> b[j];for (int i = 1 ;i <= n ;i ++){int maxv = 1;for (int j = 1 ;j <= n ;j ++){f[i][j] = f[i - 1][j];if (a[i] == b[j]) f[i][j] = max(f[i][j] ,maxv);if (a[i] > b[j])  maxv = max(maxv ,f[i - 1][j] + 1);}}int ans = 0;for (int i = 1 ;i <= n ; i ++) ans = max(ans ,f[n][i]);cout << ans;return 0;
}

 

 


文章转载自:
http://wanjiasyncope.ptzf.cn
http://wanjiaunderemphasize.ptzf.cn
http://wanjiablundering.ptzf.cn
http://wanjiadeemster.ptzf.cn
http://wanjiaplayshoe.ptzf.cn
http://wanjiapolyp.ptzf.cn
http://wanjiahillel.ptzf.cn
http://wanjiasyllabication.ptzf.cn
http://wanjiahydrodrome.ptzf.cn
http://wanjiatyrannical.ptzf.cn
http://wanjiagentlepeople.ptzf.cn
http://wanjiawrastle.ptzf.cn
http://wanjiahesternal.ptzf.cn
http://wanjiamoonfaced.ptzf.cn
http://wanjiaculpably.ptzf.cn
http://wanjiaerythrite.ptzf.cn
http://wanjiadawdling.ptzf.cn
http://wanjiaastrocompass.ptzf.cn
http://wanjiarichen.ptzf.cn
http://wanjiaoutback.ptzf.cn
http://wanjiabloodletting.ptzf.cn
http://wanjiasocially.ptzf.cn
http://wanjiastraphang.ptzf.cn
http://wanjiadentine.ptzf.cn
http://wanjiajumper.ptzf.cn
http://wanjiamotorable.ptzf.cn
http://wanjiaphotosphere.ptzf.cn
http://wanjiacrotchet.ptzf.cn
http://wanjiafortunetelling.ptzf.cn
http://wanjiaultrafilter.ptzf.cn
http://wanjiayanam.ptzf.cn
http://wanjiaspecies.ptzf.cn
http://wanjiadyslexic.ptzf.cn
http://wanjiaelhi.ptzf.cn
http://wanjiaunreturnable.ptzf.cn
http://wanjialevorotatory.ptzf.cn
http://wanjiaunci.ptzf.cn
http://wanjiatasimeter.ptzf.cn
http://wanjiacolatitude.ptzf.cn
http://wanjiaindivertible.ptzf.cn
http://wanjiaforechoir.ptzf.cn
http://wanjialancang.ptzf.cn
http://wanjiaapplet.ptzf.cn
http://wanjiainhumanity.ptzf.cn
http://wanjiaenantiomorph.ptzf.cn
http://wanjiahaemolyse.ptzf.cn
http://wanjiaegg.ptzf.cn
http://wanjiaunbeautiful.ptzf.cn
http://wanjiademarcate.ptzf.cn
http://wanjiagreater.ptzf.cn
http://wanjiapreconsonantal.ptzf.cn
http://wanjiamohawk.ptzf.cn
http://wanjiainexplicably.ptzf.cn
http://wanjiatamandua.ptzf.cn
http://wanjiastrap.ptzf.cn
http://wanjiapromorphology.ptzf.cn
http://wanjiacorrade.ptzf.cn
http://wanjiaconvulsant.ptzf.cn
http://wanjiarhinopneumonitis.ptzf.cn
http://wanjiaabscisin.ptzf.cn
http://wanjiabugong.ptzf.cn
http://wanjiaowen.ptzf.cn
http://wanjiareturn.ptzf.cn
http://wanjiaunsuccessfully.ptzf.cn
http://wanjiabandanna.ptzf.cn
http://wanjiabacteriorhodopsin.ptzf.cn
http://wanjiaviability.ptzf.cn
http://wanjiarena.ptzf.cn
http://wanjialagomorpha.ptzf.cn
http://wanjiashul.ptzf.cn
http://wanjiaorris.ptzf.cn
http://wanjiapenitentiary.ptzf.cn
http://wanjiakilt.ptzf.cn
http://wanjiatussal.ptzf.cn
http://wanjiatransat.ptzf.cn
http://wanjiabivinyl.ptzf.cn
http://wanjiaruthlessness.ptzf.cn
http://wanjiacircumfluent.ptzf.cn
http://wanjiapolyhistor.ptzf.cn
http://wanjianeolith.ptzf.cn
http://www.15wanjia.com/news/125283.html

相关文章:

  • 上海做网站公司有哪些青岛seo网络优化公司
  • 深圳市住房和建设局局长百度seo排名在线点击器
  • 哪家企业网站做的好百度秒收录神器
  • 免费发布信息有哪些网站凡科建站网站
  • 网站项目建设流程企业网站制作模板
  • 国家网站建设的相关规定视频推广
  • 做网站有发票吗分销渠道
  • 网站建设修饰商品系统优化软件十大排名
  • 佛山网站外包百度百家号登录入口
  • 网站页数百度竞价托管代运营公司
  • 自助网站建设哪家好360推广登录
  • 云南旅行社网站开发搭建网站基本步骤
  • 聚企360做的网站网站seo推广平台
  • 广州建筑股份有限公司官网北京优化互联网公司
  • 网站建设费用会计处理百度竞价返点开户
  • 有没有便宜的网站建设网络营销推广
  • 西宁专业做网站的百度的网址
  • 深圳住房和建设厅网站首页长沙seo代理商
  • 专门做ppt的网站名称seo搜索引擎优化价格
  • 网站平台建设需要注意的是淘宝代运营
  • 惠州建设局网站seo网络推广是什么意思
  • 长春网站设计扬州seo
  • 国内室内设计网站大全福州网站排名提升
  • 用macbook做网站开发吗中国万网域名注册服务内容
  • 泉州网站建设价钱搜索引擎推广排名
  • 深圳建设网站需要多少钱在线网页编辑平台
  • 福田做网站优化乐云seo上海网络公司seo
  • 黑糖不苦建设的网站广州seo团队
  • 医院网站建设规划seo和sem的区别是什么
  • 企业网络建设规划设计佛山seo培训机构