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

威客做的好的网站网络推广的方式有哪些?

威客做的好的网站,网络推广的方式有哪些?,网站要有可留言功能 怎么做,企业网站名备案题目简述 给定一个序列有n个数&#xff0c;求n个数中逆序对的个数&#xff0c;逆序对的定义&#xff1a;i < j && a[i] > a[j]。 输入格式 第一行包含一个整数n。 第二行包含 n 个整数&#xff08;所有整数均在1~1e9范围内&#xff09;&#xff0c;表示整数数…

题目简述
给定一个序列有n个数,求n个数中逆序对的个数,逆序对的定义:i < j && a[i] > a[j]。

输入格式

第一行包含一个整数n。

第二行包含 n 个整数(所有整数均在1~1e9范围内),表示整数数列。

输出格式

输出一个整数,表示逆序对的个数。

输入样例:

6
2 3 4 5 6 1
输出样例:

5

归并排序应用
归并排序是将一个序列分成两个有序的序列,归并两个有序序列,归并后则该序列有序,是基于分治的思想。

根据逆序对的定义,我们也可以使用分治的算法来求解逆序对的数量。如图:

我们将序列分成两部分,我们发现逆序对的数量是三种逆序对数量的和:

左边序列的逆序对
右边序列的逆序对
横跨中间的逆序对

利用归并排序,我们可以分别求解左边序列的逆序对的数量和右边序列的逆序对的数量。如何求解横跨中间逆序对的数量呢?
归并排序中归并的过程:

意味着在归并两个序列的过程中,我们就可以计算出横跨中间的逆序对的数量。
时间复杂度O(nlogn),空间复杂度O(N)

//下面的代码是在归并排序的基础上做了改进,不同在于有返回值,递归终止条件,归并第二个序列。
int merge_sort(int a[], int l ,int r){//序列只有一个数if (l == r) return 0;//递归左边和右边int mid = l + r >> 1;int res = merge_sort(a, l , mid) + merge_sort(a, mid + 1, r);//归并的过程int i = l , j = mid + 1, k = 0;while (i <= mid && j <= r){if (a[i] <= a[j]) t[k++] = a[i++];else{t[k++] = a[j++];res += mid - i + 1;}}while (i <= mid) t[k++] = a[i++];while (j <= r) t[k++] = a[j++];//还原数组for (int i = 0 , j = l ; j <= r ; i ++ , j ++) a[j] = t[i];return res;
}


 

http://www.shuangfujiaoyu.com/news/44634.html

相关文章:

  • 做一张简单的app网站多钱网络营销课程实训总结
  • app和微网站的区别互联网推广方式
  • 苹果app如何做ppt模板下载网站网页关键词优化软件
  • 做软件好还是做网站好营销策划是做什么
  • 东莞微信网站建设怎样seo教程 seo之家
  • 维护网站都干什么百度爱采购怎么优化排名
  • 温州哪里可以做企业网站百度竞价代理公司
  • 直播做愛网站国外营销网站优化推广
  • 浙江成人学历提升百度seo视频教程
  • 公司网站建设描述搜索排行
  • 从哪些方面评价一个企业的网站建设百度引擎的搜索方式是什么
  • 手机自己做网站数据分析师
  • 网站开发业务需求分析快速开发平台
  • 做二手货的网站seo快速排名软件方案
  • 卖做游戏点卡网站创业百度手机助手app下载安装
  • 专业外包网站建设公司排名电商网站规划
  • 国外做测评的网站百度指数在线查询前100
  • 建站程序排名惠州seo外包公司
  • 政务网站建设管理的论文南宁网站seo优化公司
  • 四川省住房和城乡建设厅网站不见了全媒体运营师培训机构
  • 最专业网站建设公推广普通话手抄报文字
  • 怎么做刷qq会员的网站数据分析培训课程
  • 仪征建设局招投标网站万网app下载
  • 广告网站建设百度一下官网手机版
  • 那家公司做网站比较好seo教程seo教程
  • 昆明做网站优化价格国际局势最新消息今天
  • 后台更新的内容在网站上不显示广州专业seo公司
  • 南宁手机做网站设计一站式软文发布推广平台
  • 怎么用htlm5自己做网站一个完整的策划案范文
  • 网站语言 java广告营销是做什么的