•  从上到下,优先级递降。

    () [] -> . ++(后缀) --(后缀)   从左向右
    ++(前缀) --(前缀) ! ~(按位求反) sizeof(type) +(单目) 从右向左
    -(单目) &(取址) *(间接访问)
    * / %      从左向右
    + -    &nb...
  • 2008-12-15

    KMP算法 - [算法]

    我们设要在主串s[0..n-1]中找到模式串p[0..m-1]的第一次出现的位置。
    先提供一种基础算法
    int index_simple(char *s,char *p)
    {
        int i=0,j=0,start=0;
       
        while(i<n && j<m)
       ...
  • emacs是一个很不错的编辑器,就是有些命令较难记,发上来以便忘的时候看吧。
    C-x C-f open/create files C-x C-c exit C-v 查看下一屏 M-v 查看上一屏 C-l 重绘屏幕 C-b 左移 backward C-f 右移 forward C-p 上移 previous C-n 下移 next M-f 向左移动一词 M-b 向右移动一词 C-a 移动到行首 C-e 移动到行尾 M-a 移动到句首 M-e 移动到句尾 M-&l...
  • 2008-11-26

    noip2000-2007题解 - [题解]

    2000
    (1)单词接龙(搜索、字符串处理)
    本题的数据规模不大,可以直接用深搜解决,开始时先将每对单词间的关系找出,可以降低时间复杂度。
    (2)进制转换(数字处理)
    本题的关键在于将正整数范围内的带余除法扩展一下,便可以模拟正基数的转化,定义一个带余除法,使整数a,p,n,q满足a=pn+q(0<=q<abs(p)),则a/p=n,a%p=q,这样便可以构造出来,具体程序实现可以将n加1或减一来试验即可,本题的疑问是负基数有负数吗?我试了...
  • =2.1.3 Sorting a Three-Valued Sequence=
    本题开始时没有思路,怎样才能使移动次数最少呢?每想起一种策略都好像不是很正确,什么是最少呢?是不是有技巧,使得移动次数最少呢?后来,想起如下策略:
    既然最后要达到目标状态,那么,该移的都要移,最后要达到的状态是一定的,我们可以尽量使当前的状态接近目标状态,尽量不浪费,那么得出的就是最优的。
    eg:原状态: 2 2 1 3 3 3 2 3 1
      目标状态:1 1 2 2 ...
  • =3.3.1Riding The Fence=
      本题是较典型的关于欧拉回路的题目,若图中的每个节点的度为偶数,则存在欧拉回路,若存在两个度为奇数的,那么他们分别为起始点,然后,我们找到一个起点,若这个节点的度为0,则加入欧拉路径中,否则,对其任意一个连接点,取消其边,对其进行同样的工作即可。

    =3.3.2Shopping Offers=
      本题是较少见的五维动规题目。
      f[a1][a2][a3][a4][a5...
  • 2008-11-24

    noip2007总结 - [总结]

    本次题目较去年来说,难度有所下降,但是对于题意的理解,仍需要严谨,细心的态度。考试时间共3.5h,开始读题用了20min,第一题大概耗费了 40min,第二题大概费了50min,第三题大概用掉了1h。感觉时间上有些紧张。若不是最后延长了30min,第三题恐怕就做不出了。至于第四题,由 于时间关系,只能放弃。


    第一题:
    本题大体任务就是排序+扫描。
    至于排序,快排就能过大部分数据,注意到 200000与10000的差距,当时想在读入时就进行判...
  • 以下是一些在信息学竞赛当中常用到的一些标准函数的总结:

    <assert.h>
    Void assert(int expr)
    如果expr==0,返回诊断信息,终止程序。若在包含<assert.h>时已定义了NDEBUG宏,所有断言将被忽略

    <math.h>
    Double cos(double x)
    Double sin(double x)
    Double tan(double...