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

用v9做网站优化推广排名

用v9做网站优化,推广排名,搜索引擎推广策略,公司官网改版方案因为题目ICPC是英文版,基于大家都不怎么看的懂的情况下直接给大家进行题目讲解 题目1: 题目分析: 构造一个长度为n的排列 p(里面的数是1-n),不能重复得 max⁡(lis(p),lds(p)) 最小。 其中,lis(p)是 p 的最长递增子序…

因为题目ICPC是英文版,基于大家都不怎么看的懂的情况下直接给大家进行题目讲解

题目1: 

 

题目分析:

构造一个长度为n的排列 p(里面的数是1-n),不能重复得 max⁡(lis(p),lds(p)) 最小。
其中,lis(p)是 p 的最长递增子序列长度,lds(p) 是 p 的最长递减子序列长度。 

排列:由 1 到 n 的整数组成的序列,每个整数恰好出现一次。例如,[2,3,1,5,4]是一个排列,但[1,2,2] 不是(重复出现 2),[1,3,4] 也不是(包含超出范围的数 4)。

问题正式描述:
设排列 p 的值为 max⁡(lis(p),lds(p)),其中:

  • lis(p) 表示 p 的最长递增子序列(LIS)的长度,

  • lds(p) 表示 p 的最长递减子序列(LDS)的长度。

对于所有长度为 n的排列,你需要构造一个排列 p,使得其值(即 LIS 和 LDS 长度的最大值)最小

递增子序列(Increasing Subsequence):若序列 a 可以通过删除序列 b 中的若干元素(可能为零或全部)得到,且 a 中的元素从头到尾严格递增,则称 a 是 b 的递增子序列。

递减子序列(Decreasing Subsequence):类似地,若 a 中的元素从头到尾严格递减,则称其为 b 的递减子序列。

思路讲解:

当n=3时,如何保证我们的递增子序列和递减子序列在所有的序列的情况当中最小呢,我们可以模拟一下来试试,其实感觉和规律很重要

当我们正常排列的时候发现这种的序列长度最长,但是题目是要一个最小的,应该怎么办呢

根据上图,我们这样排列,最长上升子序列的长度为3,最长下降子序列的长度也为0,这个情况下得到的max⁡(lis(p),lds(p))最大为2,根据样例,说明我们这种排列一定是错误的,那我们来分析一下样例中的输出样例吧

根据上图,由此可见,这个情况下得到的max⁡(lis(p),lds(p))最小,因为最长上升子序列的长度为2,最长下降子序列的长度也为2,符合条件

到这里大家应该明白了题目的意思,那么我们应该如何进行排列得到最小的值呢,当n变大时,怎么排呢?其实这里大家也可以去找规律,如果不太了解这样的情况,可以一个一个试试,去找合适并且有规律的最好形式

4 21 43

5 321 54

6 321 654

...

9 321 654 987

10 4321 8765 109

想必大家到这里一定有答案了,没错,就是每次让长度为平方根加1,然后进行反转,平方根是关键,通过4和9大家就可以清楚的了解

这道题主要就是思考过程,解答出来时很容易的,如果大家最开始没有思路,应该多想想这道题的目的,而且确实是一个有规律的题,毕竟是要用代码进行来实现的,大家遇到这种没有思路题就可以去模拟过程,有时候确实很好用

 代码实现:

#include<bits/stdc++.h>
using namespace std;
int main(){int n;cin>>n;while(n--){int m;cin>>m;int a=ceil(sqrt(m));for(int i=1;i<=a;i++){int tmp=a*i;while(tmp>(i-1)*a){if(tmp<=m) cout<<tmp<<" ";tmp--;}}cout<<endl;}return 0;
}

题目2:

思路分析: 

 这个不是英文版的不做解释了大家直接看题吧

实现根据题目要求,我们要联通所有的块,就是说我们每个至少连接到一个,一个也可以连多个,题目说要得到最小值,我们这里就分三种情况(让0放到正数里面)

1.有正数也有负数 (让所有正数×所有负数)

2.只有正数(让最小的正数×其他正数)

3.只有负数(让最大负数×其他负数)

代码实现:

#include<bits/stdc++.h>
using namespace std;
int main(){int n;long long a=0,b=0;  //a 正  b 付 int maxb=-1010,mina=1010;//maxb 负数中最大   mina 证书最大值 cin>>n;for(int i=0;i<n;i++){int j;cin>>j;if(j<0) {b += j;maxb=max(maxb,j);}else {a += j;mina=min(mina,j);}	}if(a>0&&b<0) cout<<a*b;else if(a==0&&b<0) cout<<(b-maxb)*maxb;else cout<<(a-mina)*mina;return 0;
}

http://www.dtcms.com/wzjs/11179.html

相关文章:

  • 网站建设加推广需要多少钱网络营销推广的特点
  • wordpress超级菜单南宁seo排名首页
  • 什么是营销网站微信引流主动被加软件
  • 51制作工厂网站在线观看无需选择长沙官网seo推广
  • 中天建设集团有限公司总网站网站怎么才能被百度收录
  • 深圳网络营销网站推广方法微博推广方式有哪些
  • 怎么用html5做自适应网站百度seo推广优化
  • 做中文网站的公司seo sem优化
  • web前端开发流程优化软件有哪些
  • 网站主机空间用哪个好网络营销推广工作内容
  • 勒流网站建设sem代运营托管公司
  • 网站建设的一般过程包括哪些内容中央电视台一套广告价目表
  • 网站备案 有效期站长工具域名解析
  • 国外html5做网站磁力链
  • 为什么要用h5建站市场seo是什么意思
  • 怎么对网站的数据库做管理谷歌浏览器网页版入口在哪里
  • 做网站多少钱百度网站安全检测
  • wordpress不显示文章标题最优化方法
  • 视频 播放网站怎么做的推广app拉人头赚钱
  • 四川网站建设服务淄博头条新闻今天
  • 个人网站制作模板图片seo培训师
  • 做线下活动的网站域名买卖交易平台
  • 做网站用哪个eclipse有了域名怎么建网站
  • 长春 美容 网站建设搜索关键词
  • easyui做门户网站百度官方客服
  • 随州网站建设学习千锋教育
  • 北京市地铁建设公司网站百度收录入口在哪里
  • 软件开发网站能做seo吗白度
  • 做大数据和网站开发的前景软文怎么写比较吸引人
  • 建设网站入什么科目网络营销推广公司