- 1、本文档共32页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程实验报告书
实验:2015算法实验
输油管道问题
1.思路:实验所采用的设计思路和方案/方法
备注:说明实验的设计思路、方案/方法并进行方案选择。阐明为什么要选择这个设计思路和方案/方法完成该实验,以及所采用设计思路和方案/方法的特点。
问题如图:
输油管道问题
Time Limit:
2000MS
Memory Limit:
32768K
Description
某石油公司计划建造一条由东向西的主输油管道。该管道要穿过一个有n 口油井的油田。从每口油井都要有一条输油管道沿最短路经(或南或北)与主管道相连。如果给定n口油井的位置,即它们的x 坐标(东西向)和y 坐标(南北向),应如何确定主管道的最优位置, 即使各油井到主管道之间的输油管道长度总和最小的位置?证明可在线性时间内确定主管道的最优位置。 给定n 口油井的位置,计算各油井到主管道之间的输油管道最小长度总和。要求使用快速排序.
Input
输入的第1 行是油井数n,1=n=10000。接下来n 行是油井的位置,每行2个整数x和y,-10000=x,y=10000。
Output
输出油井到主管道之间的输油管道最小长度总和。
Sample Input
5
1 2
2 2
1 3
3 -2
3 3
Sample Output
6
设计思路
本题经过思考,我们可以很快发现输入数据的x与题目要求没有关系。并得出公式:设主管道的位置为k,则(yi-k)的和即为答案,经过思考,我们可以很快得出,当主管道为中位数时,加和最小,因为如果设为其他值时,都会多增加过中位数的数值。
(2)方案
最基本的方法是直接快速排序,然后取中间树,这样子的时间复杂度为O(n),但是,仔细思考一下快速排序的性质,我们可以很快发现更优的做法。使用快速排序查找第n/2大的数值,因为每经过一次变换后,我们都能将数值分成大于关键字的部分,和小于关键字的部分,每次进行一次与中间位置的比较,便可以在 O(n)的时间内找到第n/2大的值。
2.过程:实验过程
备注:重点说明该实验/设计是如何实现的,以及其他的实验过程。
#includeiostream
#includecstdio
#includecstring
#includealgorithm
#includecmath
using namespace std;
#define maxn 12000
int k[maxn];
int Qsort(int a[], int low, int high, int dis)
{
if(low = high)
{
return a[low];
}
int first = low;
int last = high;
int key = a[first];/*用字表的第一个记录作为枢轴*/
while(first last)
{
while(first last a[last] = key)
{
--last;
}
a[first] = a[last];/*将比第一个小的移到低端*/
while(first last a[first] = key)
{
++first;
}
a[last] = a[first];
/*将比第一个大的移到高端*/
}
a[first] = key;/*枢轴记录到位*/
if(firstdis) Qsort(a, low, first-1, dis);
else Qsort(a, first+1, high, dis);
}
int main()
{
int n;
while(cinn){
int a,b;
for(int i=1;i=n;i++)
{
cinab;
k[i]=b;
}
int mid = Qsort(k, 1, n ,n/2); //找中位数
int ans = 0;
for(int i=1;i=n;i++)
{
ans += abs(k[i]-mid);
}
coutansendl;
}
}
3.结果:结果分析
备注:对研究过程中所获得的主要的数据、现象进行定性或定量分析,得出结论和推论。包括但不限于数据表、截图等。
结果
第一组
第二组 数据太长,这里只给出结果
分析、结论
分析:每次运用快速排序找出左边和右边,使得只须经过O(n)就能找
您可能关注的文档
- 苏教版三年级下册《跟踪台风的卫星》PPT4.ppt
- 苏教版三年级下册《寓言两则.ppt
- 苏教版三年级下册语文15跟踪台风的卫星.ppt
- 苏教版三年级语文上册《东方之珠》.ppt
- 苏教版三年级语文上册《东方之珠》PPT[1] 2.ppt
- 苏教版三下_跟踪台风的卫星 2.ppt
- 苏教版三下_跟踪台风的卫星PPT.ppt
- 苏教版三下跟踪台风的卫星第二课时.ppt
- 苏教版数学一年级下册_第五单元_认识人民币_元_角_分.ppt
- 苏教版四年级上册语文第五课_我给江主席献花_.ppt
- 场地脚手架工程施工方案(3篇).docx
- 2024年浙江省丽水市松阳县玉岩镇招聘社区工作者真题及参考答案详解一套.docx
- 2024年河南省郑州市惠济区古荥镇招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市淳安县文昌镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省台州市三门县小雄镇招聘社区工作者真题带答案详解.docx
- 2024年浙江省宁波市余姚市河姆渡镇招聘社区工作者真题及完整答案详解1套.docx
- 2024年浙江省丽水市景宁畲族自治县雁溪乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省杭州市临安市板桥乡招聘社区工作者真题及答案详解一套.docx
- 2024年湖北省宜昌市点军区土城乡招聘社区工作者真题及答案详解一套.docx
- 2024年浙江省台州市路桥区桐屿街道招聘社区工作者真题附答案详解.docx
最近下载
- ansys结构声振耦合解决方案.pptx VIP
- ANSYS系统仿真与数字孪生解决方案.pptx VIP
- 第17课 电脑动画 教案 人教版 美术 五年级上册.docx VIP
- 湖北省黄冈市2025年八年级上学期1月期末英语试题(含答案).docx VIP
- 娱乐先锋II_高级KTV系统.pdf VIP
- 汽车软件简介演示.pptx VIP
- 水处理大法聚二甲基二烯丙基氯化铵在给水除藻中的作用应用的探讨.doc VIP
- 2026龙飞平面图形推理基础理论➕百大图形3.0版本.pdf VIP
- 连云港“高质发展、后发先至”-全面建设连云港小康社会继续教育题库及.pdf VIP
- 水污染控制工程第11章.ppt VIP
文档评论(0)