Orz Matrix67|stdlib.h|math.h|NOIP知识点|路还很长……

来源:互联网 发布:php 页面跳转并传参数 编辑:程序博客网 时间:2024/05/01 22:16

今天看Matrix67的博客又发现很多好东西~


 

stdlib.h提供的其它函数

    --原来C语言里面也有把字符串转换为数字的函数。这让我想起前两天蒋老师刚讲的JAVA异常。


 

常用数学函数
    使用下面的函数需要在程序代码前加上#include <math.h>。

    --连2的x次方都有,以前每次都自己写……不知跟分治法速度比起来怎样,有空试试


 

NOIP知识点

    --有不少没见过的名字啊

时间复杂度(渐近时间复杂度的严格定义,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*,随机调整,遗传算法)
微积分初步(极限思想,导数,积分,定积分,立体解析几何)


以上均摘自Matrix67的博客 


      知道ACM一年多了(从2008年末),现在才知道该怎么学、从哪学、学什么。当初入队推荐我们看的第一本书就是CLRS。我兴冲冲的跑去买回来,每次最多看某个知识点的前两页就不想看了,因为实在是看不懂。还有黑书,看的也相当崩溃。现在发现学过那些知识点后再看黑书还不错,因为里面并不是基础算法的讲解。后来上大二学了离散数学,数据结构,C++才慢慢能看懂类似的书了。当初要是有好点的入门书籍就好了,当然如果有老师或学长的指点更棒。

      其实我们学校图书馆原来有《国际大学生程序设计竞赛例题解》郭嵩山等编著全套五本(一,数论、计算几何、搜索算法专集。二,广东省大学生程序设计竞赛试题 (2003-2005年)。三,图论、动态规划算法、综合题专集。四,广东省信息学奥林匹克竞赛试题 (2003-2006年)。五,广东省大学生程序设计竞赛试题 (2006-2007年))是中山大学ACM队教练写的书,里面有C,C++,PASCAL三种代码,因为当时只会C就没看(后来发现大多数信息学竞赛资料里面的代码都是PASCAL,网上找了个课件一看就会了。都说PASCAL转C难,这我不知道,不过会了C想看懂PASCAL真是简单,如果早点知道就好了)。然后还有一本曾宗根写的《国际大学生程序设计竞赛指南--ACM程序设计》,里面挑了几十道ZOJ简单原题,虽然解题代码有很多地方强行使用STL,不过第一部分介绍的STLvector,string,set,map,deque,stack等容器的用法我觉得写得特别好,一看就会。现在又多了三本新书,我只找到了一本王建德和吴永辉编著的《世界大学生程序设计竞赛(ACM/ICPC)高级教程.第二册,程序设计中常用的解题策略》,里面不仅介绍数据结构用法,还有解题策略和相应例题,什么左偏树,二分图匈牙利算法,网络流一看就懂。还有两本,一本是吴文虎王建德写的《世界大学生程序设计竞赛(ACM/ICPC)高级教程.第一册,程序设计中常用的计算思维方式》还有一本刘汝佳翻译的《挑战编程:程序设计竞赛训练手册:the programming contest training manual》,我找了一上午没找到,都是入门的好书,有空再去找。

      总结一下,怎么学:自学,看书,切题。从哪学:老师,学长,好书,百度(发现百度文档真是好东西啊,啥课件资料都有)。学什么:上面那列表。

      现在发现本来觉得很难的东西其实想学会就都可以学会。如果觉得要学的东西太多就从最感兴趣的学起。如果做题做的头疼或者不想做了就去干点别的。

原创粉丝点击