信息学奥赛分区联赛复赛经验漫谈
- 格式:docx
- 大小:444.40 KB
- 文档页数:24
信息学复赛经验之谈这里有些是我自己的经验教训,有些是独家采访信息学竞赛大牛们的一些收获,主要是比赛场上的一些技巧。
竞赛之前告诉大家,希望对各位小弟弟小妹妹们多少有一些帮助。
首先,不管自己水平如何、定下的目标(或底线)如何、对手如何、考试气氛如何,考场上一定要有平和的心态。
3个小时的时间一般来说也还是差不多够了,最终能作几道题可望而不可求。
时间剩下不多时,一定要稳住情绪,一定不要急,要立刻接受事实,保证最后时刻的最好发挥。
其实想来,只要做出两个题,一等奖也就比较稳了;三个题也就有希望进入市队了!稳住吧!由于题目难度一般是逐题递增,一般要想作完的话,安排可为:第一题<30分钟、第二题<30分钟、第三题>45分钟、第四题>45分钟,剩下30分钟左右机动处理以应付偶发情况。
如果不打算作完,可灵活安排,但一般应保证剩余15分钟以上(否则可能会很惨的),第3、4题所花时间约为1、2题的两倍左右。
拿到题目首先一定要浏览所有题目,结合题目难度和自己水平,看一看哪些可能会做而哪些需要放弃,然后马上安排好时间。
写程序之前,一定要先再草稿纸上把分析、算法写一下,哪怕只是简单几笔,可以防止你在写程序时突然kuang dang~~ 。
最好还写一下该程序大概有哪几个函数、过程,各完成什么任务,接口(传送得的数据)是什么样的,以及相互调用的关系,以防后来忘记或不清。
编程时一定要注意随时存盘(F2),重新进行大的修改之前一定要自己存备份(扩展名不能是bak,因为系统自己会保存为bak文件,会覆盖掉你作的备份,切记!)。
第一次运行程序之前一定要存盘,否则一旦crash了,就惨了哦!设计算法时,首先看题目是否是某一类型算法的典型题目。
若是,则直接使用该算法,否则依次考虑:数学方法:程序简单、快速,但思考量大,推公式不是容易事!动态规划:程序有些复杂,思考量也大,但有时很有效!递归或回溯搜索:分DFS 和WFS 甚至A+启发式算法,根据具体情况决定。
信息学奥赛交流材料信息学奥赛交流材料尊敬的评委和各位参赛选手:大家好!我是来自XX学校的选手,今天很荣幸能站在这里与各位交流。
首先,我想分享一下我参加信息学奥赛的感受和收获。
作为一个信息学爱好者,我从初中开始就对信息学产生了浓厚的兴趣。
在学习信息学的过程中,我逐渐发现信息学不仅仅是一门学科,更是一种思维方式。
信息学不仅涵盖了编程、算法等技术内容,更着重培养了我们的逻辑思维能力、问题解决能力和创新意识。
通过参加信息学奥赛,我更深入地了解了信息学的魅力和广阔的前景。
在参加信息学奥赛的过程中,我不仅学习了一些新的编程语言和算法,还锻炼了自己的团队合作能力和解决问题的能力。
在团队合作中,每个人都有自己独特的思路和见解,我们需要相互交流、协商,在分享和讨论中找到最佳的解决方案。
通过这样的互动和合作,我学会了倾听别人的意见,也从中学到了很多新的知识和技能。
除了技术方面的收获,参加信息学奥赛还给我带来了很多其他方面的启发。
首先是竞赛的紧张和压力让我学会了如何管理时间和控制情绪。
在备战竞赛的过程中,我需要保持高度的集中力和紧张感,在有限的时间内充分发挥自己的实力。
这种经历让我意识到时间管理的重要性,也教会了我如何应对压力和困难。
其次,参加信息学奥赛还培养了我的创新意识和问题解决能力。
在竞赛中,我们面临的问题很多时候是没有直接的答案的,需要我们根据已有的知识和经验去寻找解决办法。
这个过程就需要我们发挥创造力和灵活性,不拘泥于固定的思维方式,而是要敢于尝试新的思路和方法。
通过参加信息学奥赛,我还有幸结识了很多志同道合的朋友。
我们在比赛中互相交流、互相学习,共同进步。
这种交流不仅有助于我们拓宽自己的思维,还培养了我们的团队协作精神和竞争意识。
信息学奥赛是一个很好的平台,它提供了一个全新的学习和交流的机会。
通过参加信息学奥赛,我不仅对信息学产生了更深的兴趣,也激发了我对于未来发展的热情和动力。
我相信,在信息时代的浪潮中,信息学将成为重要的领域,有着广阔的发展空间。
复赛解题步骤1、读题2、构思策略方法3、模拟样例数据4、推举是否存在反例能推翻构思,如果是重新读题构思5、建立数据结构,估算数据范围。
6、编制程序,使程序通过编译。
7、测试样例。
8、调试程序根据源代码设计数据,尽可能让程序执行到每条语句(所有分支)。
调试数据选择:a样例b手工构造随机数据c 边界数据d 特殊构造数据调试方法:(1)静态查错,直接即观察源代码,需要时打草稿。
(不要一出错就跟踪)(2)动态跟踪,F7+Watches(仅在无法在静态差错中找到错误)9、检查程序,调节优化,估算时间、空间使用情况,根据需要修改程序。
10、检查细节:输入文件名、文件夹。
FP调试及其他注意事项事先说明:调试并不是万能药,FP的调试系统有时并不稳定,如果感觉异常,或者变量一值处于无意义的随机值,或者F7单步模式下它拒绝进入自定义的函数或过程,一般需要你新启动FP再次开始重新调试,如果尝试多次仍然不行,那需要你重新安装Free pascal 了,操作方法:先卸载FP,然后手工删除你FP的安装目录(一般是如C盘或D盘下的整个FPC文件夹),然后重新安装FP。
1.确定fp处于Debug (调试)模式下,否则将可能无法显示一些诸如越界等错误。
1 查看修改方法:Options菜单下-->Mode... 后面是否为Debug 如果不是,请单击修改为Debug。
2.调试说明A:设置要观察变量:一般用Ctrl+F7 可以添加需要查看的变量,也可以单击Debug菜单下-->Watches 打开watches窗口右击进行添加修改删除。
可以直接添加变量名,也可添加数组名观察整个数组,甚至可以直接加a[i]的这种形式,观察数组中的某个元素。
B:调试方法(均在run菜单下):F7 单步模式,每次执行一条语句(确切的说是屏幕上的一行),运行时会在watches 窗口更新变量的值以供观察。
F8 步进模式,每次执行一条语句,但不会深入到自定义的过程或函数中(F7会进入函数过程执行),只在主程序中按行调试执行。
关于信息学竞赛的总结与经验肇中07届高二1班伦肇梁信息时代,瞬间万变。
要很好地驾驭时代,把握未来,就要重视信息学的学习。
自从1946年美国发明第一台电子计算机ENIAC,人类爆发了第三次科技革命,从而走进了信息时代。
随着信息科技的发展,信息技术越来越受到人们的关注,被誉为科学领域的新秀,各类信息竞赛由此接踵而来。
要能在信息技术竞赛中占一席地位,就要不断吸收前人的经验,在前人的基础上再发展。
在此,我把我自己几年的竞赛总结和经验尽诉如下。
一、重视基础。
在这几届的竞赛试题看来,题目的重点偏向基础知识,而这却又是各位选手很容易忽略的地方。
在程序设计方面更要掌握好基础。
要是连最基本的指令、语法也不熟悉,可以说不用与别人比了。
每一次的竞赛都有选手明明会做却在测试的时候显示不出来,这都是因为对文件的输入输出不重视,最终功亏一篑。
由此可见,基础是否扎实,直接关系到竞赛的成败。
二、重在积累。
各届的竞赛试题千变万化,总有一个宗。
纵观多年的竞赛题,会发现很多题都是由一些经典的题目转化而来的。
例如最近的青少年信息学奥赛联赛普及组的复赛第3题,就是一道很经典的题目。
因此,平时多积累一些经典算法,在比赛的时候会更有把握,也就比别人多一分筹码了。
三、分析严谨。
信息竞赛很少有人拿满分,就是因为对题目的分析不够完全,致使错过了一些隐藏的条件,对问题的一些解答也就不全面了。
要完全克服这个问题,就要从平时入手,在平时就要锻炼自己对问题尽量考虑得透彻、周全。
四、发散思维。
信息学竞赛对各位选手考察的知识不仅是一些基本的概念,更多的是对思维能力的发散性题目。
这就需要有很好的逻辑思想和数学基础。
对问题的思考也要从多角度入手。
例如第九届青少年信息学奥赛联赛普及组的复赛第4题,仔细分析可以知道题目要求的是2P-1的位数和最后500位。
要求最后500位并不难,只要用高精度算法即可求出。
难点就在于求它的位数。
可能有的选手就会想到用高精度求出整个数来求它的长度。
“三大优化”提升初中信息奥赛复赛教学随着信息技术的快速发展,信息学科也成为了初中教育中的重要学科之一。
信息奥赛作为信息学科的竞赛和选拔活动,在全国范围内受到了广泛的关注和参与。
在信息奥赛的复赛阶段,学生面临的知识和能力要求更加复杂和高级,因此需要教师在复赛教学中进行针对性的优化,以提升学生的竞赛水平。
本文将围绕“三大优化”来探讨如何提升初中信息奥赛复赛教学。
一、教学内容优化在复赛阶段,学生需要了解更加深入和广泛的信息学科知识,掌握更加高级和复杂的信息技术操作能力。
教师在复赛教学中应当优化教学内容,突出重点,深化学生的理解和应用能力。
具体而言,可采取以下几点措施:1. 强化重点知识。
针对信息奥赛复赛的考核要求,教师应当重点讲解和强化数据结构、算法设计、数据库应用等知识点,引导学生深入理解和掌握。
要注重对已学知识的综合应用和巩固,培养学生的实际问题解决能力。
2. 拓展知识面。
信息学科的发展日新月异,教师在复赛教学中应当及时了解最新的信息技术发展动态,将新知识和新技术纳入教学内容,丰富学生的知识面,提高他们的信息素养和创新意识。
3. 实践操作能力。
信息学科是一门实践性很强的学科,因此教师在复赛教学中应当充分利用实验室等资源,引导学生进行大量的实践操作,加强他们的操作能力和问题解决能力。
通过教学内容的优化,可以使学生在复赛阶段更好地掌握高级信息技术知识和操作能力,为参加信息奥赛做好充分的准备。
教学方法是教学活动的重要组成部分,对于初中信息奥赛复赛教学也是至关重要的。
教师在复赛教学中应当优化教学方法,激发学生的学习兴趣和动力,提高他们的学习效果。
具体而言,可采取以下几点措施:1. 引导自主学习。
教师应当给予学生一定的自主学习空间和机会,让他们在教学内容的基础上进行深入学习和探索,培养他们的独立思考和问题解决能力。
2. 开展小组合作。
合作学习是一种非常有效的教学方法,可以促进学生之间的互动和交流,丰富学习资源,提高学习效果。
提高初中生信息学奥赛复赛水平的三个关键作者:金志峰来源:《中学教学参考·下旬》 2017年第4期[摘要]信息学奥赛中每年都有很多初试高手,由于人为失误导致复赛成绩不好。
经过实践,教师尝试总结出提高初中生信息学奥赛复赛水平的三个关键,即正确把握考试要求,避免出现低级错误;合理调整考试心态,自信面对复赛考验;灵活应用解题策略,力求考试成绩突破。
[关键词]信息学奥赛;复赛辅导;三个关键[中图分类号]G633.6 [文献标识码] A [文章编号]1674-6058(2017)12-0005-02信息学奥赛是经教育部、中国科协批准,由中国计算机学会举办的面向全国在校中学生的一项重大赛事,它同数、理、化、生奥赛合称为中学五大奥赛。
不同于一般的课堂教学,它是学有余力、学业比较拔尖的学生参加的比赛。
参赛学生只有通过初赛考验之后才有资格进入复赛。
信息学奥赛复赛是现场编程的比赛,要求选手熟练使用一门程序设计语言,并能应用各类算法和数据结构来解决相关问题。
每年都有很多选手因复赛临场发挥失误而只能“打打酱油”,其中不乏一些编程高手,因未能正常发挥出水平而遗憾地名落孙山。
因此,提高学生复赛水平是非常重要的。
教师如何做好复赛辅导工作?笔者尝试做好提高初中生信息学奥赛复赛水平的三个关键,经过实践,效果良好,对有效提高学生竞赛成绩和解决实际问题的能力具有很好的效果。
“三个关键”具体如下。
第一个关键:正确把握考试要求,避免出现低级错误选手在比赛中经常出现的低级错误如下。
1.选手文件夹未正确建立有的考生建立了诸如“9D17JS_0261”的文件夹,看似没问题,实则不然,主要错在中间的下划线。
近年来江苏省复赛都有这样的规则:要求考生在D盘submit文件夹下,建立选手文件夹,文件夹由机号和考试号构成,如D:submit\9D17JS-0261,中间为英文的减号而非下划线。
文件夹建错就相当于书面考试中答题答错了位置。
2.文件名命名出错有的考生交上来的程序名诸如“date.pas.pas”,很明显这里有两个“.pas”是错误的,主要原因是他的电脑上设置了“隐藏已知文件类型的扩展名”属性,而考生以为需增加扩展名,于是又加了一个“.pas”,错误就发生了。
信息学奥赛的实践与体会信息学奥林匹克竞赛是一项益智性的竞赛活动,核心是考查参赛选手的智力和使用计算机编程解题的能力。
信息学奥林匹克竞赛要求参赛选手有如下能力:针对竞赛题目中的要求构建数学模型,构造出有效的算法和选用相应的数据结构,写出高级语言程序,上机调试通过。
现从我自己近几年来信息学辅导教学实践经验和教学工作收获出发谈谈体会。
信息学奥林匹克竞赛是一项旨在推动计算机普及的学科竞赛活动,重在培养学生能力,使得有潜质有才华的学生在竞赛活动中锻炼和发展,提高他们创造性地运用程序设计知识解决实际问题的能力。
我是2001年参加工作,从2005年开始从事信息学奥林匹克竞赛的指导工作。
2009年辅导学生获提高组一等奖,并入选省队。
目前信息学奥林匹克竞赛在我们学校正广泛开展,学生也表现出非常高的热情。
作为一名信息学奥林匹克竞赛辅导老师,我根据近几年来的教学实践经验和教学工作收获出发谈谈自己的体会。
一、提高教练自身的素质学生所学习的内容是程序设计与数据结构,要求我们教师不仅懂一种程序设计语言而且还要精通。
2005年我开始从事信息学奥林匹克竞赛辅导工作的时候发现,大学所学的程序设计所编的程序难度根本没有奥林匹克竞赛所编的程序难度高。
给学生一杯水,要求教师有一桶水。
所以我就买了许多关于信息学奥林匹克竞赛的书,自己好好的专研起来,提高自身的专业素质。
现在我给学生辅导的题目,无论简单的还是难的题目,每一道题都要求自己在给学生上课前亲自做一遍。
同一道题目有不同的解法,作为教师要好好比较。
如果你没有过硬的专业知识,辅导学生,那就会误人子弟了。
同时信息学和其他学科相比有其特殊性,因为信息学的知识会“过期”,所以信息学的学习不得不“与时俱进”。
因此作为一名信息学奥林匹克竞赛辅导教师,只有具备终身学习的态度和能力,才能跟得上信息学的发展。
二、运用有效的教学方法信息学奥赛的内容主要是程序设计与数据结构,这些全部都是大学计算机本科专业的重点课程。
关于信息学竞赛的个⼈看法与建议关于信息学竞赛的个⼈看法与建议 本⼈是个信息学奥赛的蒟蒻,在初⼆才开始学习信息学奥赛,但是毕竟是福建的OIer,对福建的信息学竞赛有⼀定的了解,在这⾥给出⾃⼰对于信息学竞赛的个⼈看法与建议。
先列出信息学奥赛的流程(括号内为⽉份)NOIP初赛(10)-->NOIP复赛(11) -->福建省选拔赛(4、5)--> (亚太信息联赛APIO等分赛事)-->NOI(7) -->国家队选拔赛(5)-->IOI(8)1、NOIP初赛:每年10⽉举办,笔试,选取⼤概20%--30%的⼈进⼊复赛(2019年增加后全省进⼊复赛⼈数改为1000⼈)2、NOIP复赛:每年11⽉举办,上机,全省集中在⼀个市各考点进⾏考试,普及组3.5⼩时4题,提⾼组两天7⼩时6题。
NOIP拿到省⼀等奖是所有的基础,拿到这个奖项就有了各个学校⾃主招⽣的资格(仅为资格),如果没有这个奖项,后⾯列出的所有信息竞赛均⽆资格参加。
福建的省⼀等奖得奖分数线是不低的,如图。
在省⼀的获奖选⼿前50+中,会进⼊省集训队。
3、福建省选拔赛:福建省选拔赛会选出福建信息省队选⼿(全省⼤概10~15⼈),⼈数分为普通(A类),奖励⼈数(B类)(根据上⼀年NOI情况确定⼈数)。
福建信息省队⾮常强⼤,进⼊后许多⾼校⾃招都将向你抛出橄榄枝。
进⼊省队后才有资格参加后⾯赛事。
4、NOINOI是所有⼤神选⼿的竞技场,福建历来获奖率很⾼,NOI将选出50名左右进⼊国家集训队(不是国家代表队)。
若你拿到NOI⼀等奖,你将拥有很多⾼校的⾼降分优惠,若进⼊国家集训队,清北都将给予你⾃招⾼降分甚⾄⽆条件录取。
5、国家队选拔赛国家队选拔赛将经过多轮测试,从50名国家集训队⼈选中选出4名国家代表队,他们将代表中国参加IOI(世界信息学奥林匹克竞赛),若你进⼊国家代表队,所有⾼校⽆条件录取是绝对ok的。
6、IOI世界最顶尖⽔平的竞赛,你的成绩将为国添荣,若你达到这个层次,已经不需要任何⼈的指导了。
高中参加信息学奥赛的感想与收获作为一名高中生,我参加了信息学奥赛的比赛,这是一段非常值得铭记的经历。
不仅是为了成绩而参加,更是为了学习和提升自己。
首先,参加信息学奥赛的过程让我更加深刻地认识到了计算机科学的重要性。
在平时的学习上,我可能更多地关注于实际应用,更多地思考如何写出一份好的程序。
但是通过比赛,我了解到了算法与数据结构等更为深入、高层次的计算机知识,这些知识对于我们未来的发展和探索具有巨大的推动作用。
其次,参加信息学比赛的过程也让我更加了解自己。
我发现,在比赛时,我们需要有足够的耐心和精神集中,才能够克服遇到的难题。
这一点对于个人发展和成功非常关键,我们必须在不断的实践和探索中,培养出自己的心性和精神力量。
除此之外,信息学奥赛的比赛也让我更好地理解了团队的力量。
在比赛中,我们需要互相配合、协作,才能够克服难关。
这使得我意识到了在以后的工作和学习中,团队协作的重要性,以及互相理解和支持的重要性。
而对于我个人来说,参加信息学奥赛的过程同样也是一次锻炼和成长的机会。
在比赛中,我学会了如何更好地规划时间、管理精力,遇到挫折时不畏惧,积极妥善地解决问题。
这些经验也将对我未来的学习和工作产生高价值的贡献。
最后,参加信息学奥赛的经历也让我明白了学习需要放到更广阔的层面上。
我们的学习不应该局限于书本知识和考试成绩,而应该去更为深入地探究、发现生活和工作的本质,不断实践和成长。
综上所述,参加信息学奥赛的经历,对于我来说是一次宝贵的财富和经验。
不仅对我的学习和成长产生了持久的影响,也带来了无尽的收获和体验。
我将继续参加这样的比赛,不断挑战自己,迎接更加广阔和深刻的学习和发展。
全国青少年信息学奥赛辅导经验总结摘要:全国青少年信息学奥林匹克分区联赛,是经中国科协、国家教育部批准,由中国计算机学会主办的,一项全国性的青少年竞赛活动(简称NOIP)。
这项活动能激发青少年对计算机及其应用的兴趣,开阔眼界,扩大知识面,培养他们的逻辑思维、创造思维以及应用计算机解决实际问题的能力。
我校在信息学奥林匹克联赛活动中能取得一定的成绩,除了各级领导的关心和支持,与全体参加辅导的学生的科学学习是分不开的。
下面就我校平时开展信息学奥利匹克联赛活动谈一些自己的经验和体会。
关键词:信息竞赛;奥赛辅导;专业素养;小组合作一、制度保障,扎实推进学校领导非常重视,成立奥赛班,实行奥赛辅导教练员制,建立校内奥赛辅导联席会议制度随时解决奥赛辅导中的难题。
特别是近几年来,学校领导充分认识到信息学奥利匹克竞赛的重要性,无论是活动经费、时间,还是参加辅导学生的学习、生活问题均加大了支持的力度。
对奥赛辅导成绩突出的教师在聘任、评优、职级、工作量等方面给予倾斜和照顾,同时学校加大了奖励力度和宣传力度,拿出专项资金奖励在奥赛中做出贡献的教师、学生,鼓励获奖教师及时总结经验,在全校推广。
这样,更有利于各方面关系的协调,更有利于集思广益,发挥优势,群策群力干好特长生培养和衔接培养工作。
如:设置奥赛教研室专门负责奥赛管理,实行信息学竞赛主教练负责制,设立了信息学竞赛辅导津贴,建立了信息学竞赛奖励机制;保证了信息学竞赛辅导时间,每周至少有5课时的信息奥赛辅导时间;鼓励辅导教师积极参加各种信息学奥赛辅导培训,对获奖的学生学校还专门设立了奖学金。
在学校领导高起点定位的指引下,我校信息学奥利匹克竞赛活动得到了积极健康的发展。
二、精选人才,走可持续发展之路培养一个高水平的奥赛选手,一般要经过长时间的反复训练。
因此,结合我校的特长生衔接培养优势,我们从高一开始就开设了信息技术课,注重培养学生对信息技术的兴趣,同时为奥赛选拔培养好的苗子做准备。
信息学奥赛分区联赛复赛经验漫谈一、认真审题审题对于信息学竞赛来说尤其重要。
同一个题目如果数据限制差异大的话,可能难度差异也很不同。
例如:输入A,B,输出A+B的值。
如果题目说0<=A,B<=10000,这道题目无疑是一道很简单的题目,但如果题目说0<=A,B<=10000000000000000000000000000000000000000000000显然就要用到高精度数的处理了。
从某种意义上说,数据限制也暗示了你可能的算法。
数据小,也许是搜索派上用场的时候,数据大了,可能只能考虑动态规划,数学方法等高效的算法了。
二、编码和调试的能力复赛考查的算法并不困难,选手在实现上的问题往往还要大一些。
建议大家:一,充分利用草稿纸,不要对自己的“心算能力”太自信了。
编程熟练的同学喜欢“一气呵成”,拿到题目就开始编码。
我认为这样不好。
做信息学竞赛竞赛题的思维过程是丰富而曲折多变的,考虑问题必须全面。
仅凭一时的“感觉”来编程往往是漏洞百出。
初学者常常忘记做一些初始化工作(远不止变量赋初值这种最简单的),即使有经验的同学也难免因一时疏忽写出几个错误的语句。
最要命的是“第一感觉”的算法是错误的或者效率太低,而程序编了大半才发现...做一些复杂的题目(以前复赛的题目其实没有特别复杂的,但今后可说不准),大多数人多会在一分心的时候突然短了思路,不知道下一步该写什么了。
二,编码采取自顶向下,逐步求精的方法,调试时采用输出中间结果的办法及时找出错误的地方。
可以这么说,思路越清晰,对自己程序的算法和编码越了解,调试也会越顺利(一定不要忽视)。
三、最大限度的发挥自己的水平看上去是废话,但必须说,当临近比赛的时候,这一点绝对比提高自己的编程能力重要和实际的多。
下面我谈谈从这几届分区联赛中得到的一些启示。
1.正确的估计题目的难度和自己的水平初学者常常“意气用事”,拿到一道看起来很“爽”的题目就开始做了,其实这样不好。
NOI99第二试的时候许多选手一开始就做第三题模拟题,看起来简单,其实要做好并不容易,所以不少人用了4小时都没有做出来,只好...有人虽然先做的第一题,但做完后也是去做第三题,做了3个小时却因为粗心...所以说,必须在平时训练一下对题目的规模,难点,编程调试复杂度等方面的估计,还要注意自己擅长哪方面,编程速度和准确度以及调试能力如何,结合自己对题目的估计,方能正确的选择题目和安排时间。
2.重视测试能够做的题目常常得不了满分,这也属于发挥欠佳。
但其原因不是自我估计不准,而是考虑问题不全面。
一道自己有把握,有信心做好的题目一定要花大力气保证其正确性。
记得NOI99第一试,有人第二题“几乎”编正确了的,却因为初始化有误,有人测试的数据可以通过,但评分时用的数据无一通过。
3.评分的唯一标准是测试数据这不是鼓励大家“投机取巧”,意思是,一道困难的题目如果无法下手,在时间允许的情况下一定要写一个能解一些特殊情况的程序。
例如去年分区联赛《旅行家的预算》一题,无解的数据和没有加油站的数据各一个,难道对于这两个情况的程序你还不会编吗?得一些分算一些嘛。
还有“导弹追踪”一题有一个数据是升序排列的,难道你不知道这种情况是一次只能打一个吗?很多最优化题目,不要一个字都不写,根据你的“直觉”算法(例如贪心),虽然得不了满分,也能得一定的分数。
反正又不是写解题报告,得多少算多少。
4.不怕一万,就怕万一和编程序没有什么关系啦,提醒大家要多存盘什么的,最好保留一些不同版本(例如算法不同)的程序,便于选择修改。
不要不当回事,小心点总是好事。
我上次就因为...第二题编了两次(好在只多花了10分钟)5、怎样准备复赛?1.应该针对自身特点在时间不多的情况下,应该针对自己的特点来准备。
下面是一个简单的自我评估方法1.你参加过复赛吗?2.你做过以前的竞赛题吗?(没有做过就在本站下载一份去做嘛!)3.你知道复赛如何评分吗?4.在算法十分熟悉的情况下,你平均输入100行代码需要多少时间?5.你对那类题目最有把握?6.你对那类题目最头痛?7.程序编完后,调试成功需要的时间平均是编程时间的几分之几?8.你满认为正确的程序,结果测试下来有错误的情况有多少?9.你满认为正确的程序,结果测试下来几乎得0分的情况有多少?10.你看完题目(包括验证样例数据)的平均时间是多少?11.从看完题目到脑子里浮现出第一个算法的平均时间是多少?12.从看完题目到最后决定采用哪种算法的平均时间是多少?13.从决定算法到开始编码,你会先在做准备工作(eg.写伪代码)吗?需要多少时间?14.在实现算法的时候突然发现算法是错误的,这种情况有多少?15.程序编完后测试一些数据后发现算法是错误的,这种情况有多少?16.程序写着写着写不下去了,因为觉得代码还需要写那么那么多...这种情况有多少?17.程序写着写着写不下去了,因为不知道下一步该写什么了,这种情况有多少?18.程序写着写着写不下去了,因为刚刚写过的代码突然看不懂了,这种情况有多少?19.程序写完了,运行失败,你先静态查错,还是直接调试?20.调试通一个100行代码的程序,你用的时间平均是多少?21.调试了一段时间,仍然通不过,不知道该怎么办,这种情况有多少?22.终于调试通过,竟然是笔误!这种情况是多少?23.对于竞赛题,你有把握同时通过的程序有几分之几?这种“把握”通常是正确的吗?24.你测试程序吗?是否只是使用样例数据?25.测试时死机。
这种情况有多少?26.测试大数据时才发现你的程序效率存在严重问题,这种情况有多少?27.测试大数据时才发现你的程序空间问题没有解决好,这种情况有多少?28.测试一个数据失败,调试通以后你是否进行回归测试?29.一般的题目你会花多少时间测试?30.做一道简单的复赛题目,你一般需要多少时间?31.做一道中等难度的复赛题目,你一般需要多少时间?32.做一道困难的复赛题目,你一般需要多少时间?33.平时做题你计时吗?34.想好算法以后,你能较为准确的估计你将花的时间吗?35.看完题目以后,你选择对于你来说最简单的题目吗?如果是,选择正确(的确比其他题目容易得分)的时候多吗?36.对于不会做的题目,你能够想一个方法拿部分分吗?37.你设计的测试数据和标准测试数据是否比较接近(指测试的方面,不是数据本身)?想一想,这些问题本身也许就可以引起你的思考。
选出你认为最重要的,你又最差的方面集中训练。
2.熟悉复赛的形式,内容和题目的特点复赛题目的特点是:第一题:算法比较明显的,或者和数学关系比较大的题目。
第二题:好上手,但程序量要大一点的题目,考虑全面也不容易。
第三题:一般是搜索,或者算法不明显的题目。
算法方面,可能考到的是:搜索(回溯就可以了),动态规划(几乎是必考),贪心,递推(小心真的考到哦),递归...数据结构反而考得不多。
熟悉字符串的操作和排序算法就差不多了。
练习以上内容可以做以前的复赛题或我的模拟题(难度比复赛略高一点)一个好的方法是练习经典题目。
如:8皇后,汉诺塔,部分背包问题,FIBONACCI数列,数字三角形...还有很多,主要还是靠平时积累。
3.选择自己最有潜力的方面专攻。
初学者是一般不可能做出所有的题目的,应该选一些自己平时最熟悉和有把握的题,一定要做对。
记住,信息学竞赛最容易出现“一失足成千古恨”的情况。
自己熟悉的题目要加强编程熟练度,准确度,测试和调试能力,把自己有能力拿到的分拿稳。
noi(省选)应该掌握的知识点“问大牛为何物,直教菜鸟以死相拜”——题记时间复杂度(渐近时间复杂度的严格定义,NP问题,时间复杂度的分析方法,主定理)排序算法(平方排序算法的应用,Shell排序,快速排序,归并排序,时间复杂度下界,三种线性时间排序,外部排序)数论(整除,集合论,关系,素数,进位制,辗转相除,扩展的辗转相除,同余运算,解线性同余方程,中国剩余定理)指针(链表,搜索判重,邻接表,开散列,二叉树的表示,多叉树的表示)按位运算(and,or,xor,shl,shr,一些应用)图论(图论模型的建立,平面图,欧拉公式与五色定理,求强连通分量,求割点和桥,欧拉回路,AOV问题,AOE问题,最小生成树的三种算法,最短路的三种算法,标号法,差分约束系统,验证二分图,Konig定理,匈牙利算法,KM算法,稳定婚姻系统,最大流算法,最小割最大流定理,最小费用最大流算法)计算几何(平面解几及其应用,向量,点积及其应用,叉积及其应用,半平面相交,求点集的凸包,最近点对问题,凸多边形的交,离散化与扫描)数据结构(广度优先搜索,验证括号匹配,表达式计算,递归的编译,Hash表,分段Hash,并查集,Tarjan算法,二叉堆,左偏树,斜堆,二项堆,二叉查找树,AVL,Treap,Splay,静态二叉查找树,2-d树,线段树,二维线段树,矩形树,Trie树,块状链表)组合数学(排列与组合,鸽笼原理,容斥原理,递推,Fibonacci 数列,Catalan数列,Stirling数,差分序列,生成函数,置换,Polya 原理)概率论(简单概率,条件概率,Bayes定理,期望值)矩阵(矩阵的概念和运算,二分求解线性递推方程,多米诺骨牌棋盘覆盖方案数,高斯消元)字符串处理(KMP,后缀树,有限状态自动机,Huffman编码,简单密码学)动态规划(单调队列,凸完全单调性,树型动规,多叉转二叉,状态压缩类动规,四边形不等式)博奕论(Nim取子游戏,博弈树,Shannon开关游戏)搜索(A*,ID,IDA*,随机调整,遗传算法)微积分初步(极限思想,导数,积分,定积分,立体解析几何)一、确定你的语言NOIP包括三种语言c/c++/pascal,在最初必须确定自己使用的语言。
没有c/c++基础的,个人建议使用pascal,因为它更容易上手,如果有充裕的时间,则建议c/c++,因为它们对你今后的程序编写,更有益处。
二、从排序入手排序是基础中的基础,快速排序是必备本领,方法就是背下来。
c/c++是自带快排的,因此很轻松。
多关键字排序和稳定排序也是必须掌握的排序知识。
三、贪心和穷举以及模拟——最简单的程序想得奖,必须掌握贪心和穷举以及模拟,虽然不能让你得满分,但可以给你拿到30-60分。
它们是你想不出更好算法时的救命稻草。
贪心算法(又称贪婪算法)是指,在对问题求解时,总是做出在当前看来是最好的选择。
也就是说,不从整体最优上加以考虑,他所做出的是在某种意义上的局部最优解。
但是贪心是可以得分的。
枚举算法是指,列举出所有可能的取值,从中找出最优解。
模拟算法是指,通过逐步进行操作、逐步判断来推断是否符合题目中所给出的情况。
非常耗时,一般不可能得到最优解,但是可以得到部分分数。
四、用动态规划来训练思维比较难,对思维的周密程度和逻辑要求非常高。