- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
09acm选拔赛(—)解题报告
总的来说同学们表现的不错,要知道你们才大一啊,比我是不知强了多少倍!
我们这次的题目还是很有特点的没有像校赛那样出了很多模拟,贪心题目,大家一眼就看出方法的题目,而是加了排序,超找,dp这样的类型题,主要也是给大家个信号,不要沉溺于水题的怀抱(当然做一定的数量的也很有必要,熟悉语法,编译器等等)!学习新的算法,武装自己,互相学习,才是加入集训队的目的,而不仅仅是做多少到题目!
没有发挥好的同学也不用太沮丧,总的感觉大家实力相差不是很大!付出的总有回报
(ms和”出来混总是要还”一个意思!)
1181 正方形:
这道题是我们的队长XML出的(被水啦!),我们集训队多了一位过兰州大学研究生线的大四学姐,她因为要准备复试,所以和我们一起训练,是她问XML给四个点坐标怎么判断能否够成正方型,XML就直接取材啦!很多学校的研究生复试题目都是以ACM题目的形式出的,不过都不是太难!
可以参考下/diy/contest_show.php?cid=5547题目都是数据结构,算法的基本内容!
这题属于计算几何,题目其实并没有很多同学想的那么简单,只是数据实在是太水,让很多人都水过了!
题目并没有告诉你点的顺序。所以过的同学可以再试下下面几组数据!
0 0 4 3 1 7 -3 4 yes
0 0 4 3 -3 4 7 1 yes
4 0 -4 0 3 0 -3 0 no 是菱形 打乱顺序
0 0 2 0 2 3 0 3 no 长方形
判断方法也很简单 就是中学学的菱形,正方形的定义就可以:
1,四边相等的四边形是菱形
2,有一个角为直角的菱形是正方形。
3,对角线相等的菱形是正方形
利用1,3 可以之判断所以点之间的距离来判断,共六条边,若能分成两类且短的占4,则是正方形!
1182 sort problems
这题的是我出的,本来就是想考察大家对排序的掌握,感觉直接排序太没有水平了,就加了个找出前n大的数,有感觉这样不过瘾,就又要求这前n大的数按原来的顺序输出!哎,可惜题目出的仓促没有考虑仔细(表示严重道歉),没有考虑如果出现多个相同的数据的都是第n大怎么输出,我的标程本意是按着出现的顺序输出;即如果 在4 5 4 5 4 4 中选3个就输出 4 5 5;可后来发现我的程序用的qsort排序不稳定原来第一个4可能会跑到最后一个;导致输出的数据不正确!刘兴海和刘庆的程序是正确的,而且思路也很好,大家可以参考下!沈辉的想法也接近啦!
李老师也提出种方法,应该是最高效:
首先找出第k大的数x(不是利用排序,利用快排的思想),
然后再对原序列扫描一遍,
若a[i]xn0则 n-- ,
再扫描一遍
若a[i]x 直接输出a[i]
若 a[i]==xn0 输出a[i] 并且 n—;如果 n==0退出
有关找第k大第k小的数网上的高效方法很多,以后老师也会给大家接受,图书馆的算法书一般都会介绍那种利用快排思想找的方法!
1183账单
这题属于简单字符串处理,也可以说是简单模拟题,适合同学熟悉编程,利用c语言解决问题!不过现场过的人不是很多,大家还要加强练习!估计是很多同学在字符串转换数字时出错啦,情况分清就好了
首先令sum=0.0;
若遇到字母或者空格continue
若遇到数字开始处理
令tmp = s[i]-‘0’,c=10,b=1,i++一直处理直到遇到字母或空格跳出
若遇到数字tmp+=tmp*c+(s[i]-‘0’)* b;b*=0.1;
其中遇到小数点则令c=1,b=0.1;
Sum+=tmp;
输出sum
其实如是对库函数熟悉的可以利用 itoa(), atof() , sprintf() , sscanf() 来实现 数字和字母的转化!不过这些函数有的编译器不支持,比赛时还是少用,平时写代码倒是可以用!
1184 找数
这题本意考察二分查找,由于数据弱,大家线性查找都能过(又被大家水了)!
二分查找要求数据有序,本题正好满足条件。
每次拿你要找的数据x和区间(I,j)的中间数据比较mid=(i+j)/2
若相同则找到
若xa[mid] 则查找(mid+1,j)
若xa[mid] 则查找(i,mid-1)
这样可以一次去掉一半的查找空间,对于n个数只用找log2(n)次;而不是线性的n/2次
当n很大时相差很大的!
注:虽然二分查找的代码很短,但是分为递归和非递归两种,而且对于超找 等于x和超找 第一个大于等于x的写法都有很小的差别,建议大家可以自己试着写写,建立自己的代码库!
不会的当然问老师,或和同学讨论啦!
1185游戏币
这题老师赛后也讲了解法,属于动态规划(Dynamic Programming)即
您可能关注的文档
最近下载
- WST 554-2017 学生餐营养指南.pdf VIP
- 致用英语(第三版)听力教程1教学课件Unit 7-PPT课件.pptx VIP
- 烽火岁月中的木刻 课件 2025浙美版美术七年级上册.ppt
- 13G311-1混凝土结构加固构造图集.pdf VIP
- 小学数学六年级《找规律》数学活动课PPT课件.ppt VIP
- 【历史】七年级下册必背知识点汇总+2024-2025学年统编版七年级历史下册.docx VIP
- 高标准农田跟踪审计、工程中间计量、变更价格调整及竣工结算审核项目 投标方案(技术方案).doc
- 保安管理与风险控制培训课件.pptx VIP
- (新教材)部编人教版一年级上册小学语文全册教案(教学设计)(新课标核心素养教案).pdf
- FANUC机器人的码垛堆积功能(二)示教编程.docx VIP
文档评论(0)