1.时间4h,运用算法和数据机构,写好的程序要放到指定文件夹的指定文件下面;
2.了解和熟悉API:栈、向量、映射、列表、集合、队列、优先队列
3.STL:标准模板库(排序、删除、计数、比较、找特殊对象、合并到另一容器中、执行其他操作等)
4.因为机子很差,所以写好的文件不要保存到c盘,而是放到D/E 浏览器可以随开随关,题目是有梯度的
5.基础掌握:变量、操作符、选择、循环、递归
面向对象:类、对象、引用、构造方法、参数传递、this引用、static、继承、多态、接口、内部类、匿名类(匿名类就是一个没有类申明的类体,因为没有名称,所 有匿名类不可以申明对象,但却可以创建对象。eg: Speak speak = new Speak(){ }这就是匿名类)
异常和保护
I/O:读写文件,File类、文本操作、与二进制操作(字符流、字节流)
多线程:线程的排斥(synchronized)、协作(wait,notify)(别理)
网络:只限于Socket通信()别理
6.大赛题目的设计本着需要尽可能少的领域知识的原则
所有特殊领域知识,一定会在题目中详细描述,一定会有例如…的说明语句,以免选手误解。
例外:数学领域
数学常识性知识不在题目中详述!
理工低年级以内的数学知识
算数:素数,整除,余数,求模,不定方程 …
代数:函数,方程,多项式,…
解析几何:笛卡尔坐标系,点到直线的举例,极坐标,…
复数:模,夹角,矢量的合成和分解
7.不会出现:
AWT,Swing界面类的编程或填空问题
JSP, Servlet, HTML, CSS,XML, JavaScript 等web编程相关
Struts, Spring等开源框架
JavaEE 规范,容器(例如: JNDI, javaBean等)
JDBC, SQL 等数据库编程相关内容
8.基本算法:穷举法(暴力破解)
回溯法(试探,返回,试探,返回…)
分治法
动态规划
9.图论(学习时间有限不理)图的深度优先、广度优先遍历
求割点或桥
极大强连通分量
拓扑排序
最短路径
欧拉回路
最小生成树
最大流,费用流
10.计算几何算法
圆,椭圆,凸多边形,线段
相交点
交集面积,并集面积
11.有些结果填空题或大题完全放弃递归会很吃力
排列问题举例
n次取字母
12.评分标准:注意大小写,中西文符号区分 比对时会去掉前后多余的空白字符 选手粗心:分号已经存在了,中西文符号问题
思维要严密。边界条件判断不足,引发异常,可能损失部分分数。
大数据规模。算法设计不当会导致溢出或超时(内存和时间限制)
13.主要是培养逻辑能力,可以通过各种题目练习
数学练习很重要,最有成效!
例如:欧拉计划 网站
国外教材的习题很有挑战性、开放性
《java大学教程》 《c++大学教程》
国外教材《算法导论》
扎实基础的:《具体数学》
北大,浙大,杭电等大学的ACM训练的OJ网站
14.题目题材
数学素材,最普遍,奥数?
串的各种变换
java允许使用正则(正则表达式:字符串匹配 eg:英文拼字游戏,查找含有关键字的字符串),可能会事半功倍
文件内容的处理(本次可能性不大,可能会变化形式)
文本文件转换格式,比较,搜索等
二进制文件提取某种信息,某种映射
仿真问题
类似电梯调用,餐厅调用等。。
各种概率问题
各种求最优解问题(解空间中搜索)
博弈问题
图论问题
加权最短路径
最大流量