• 《算法竞赛入门经典》- 学习摘抄


    l  在算法竞赛中不要使用头文件conio.h,包括getch()、clrscr()等函数。

    l  不要让程序“按任意键退出”(例如,调用system("pause"),或者添加一个多余的getchar()),因为不会有人来“按任意键”的。

    l  在算法竞赛中,每行输出均应以回车符结束,包括最后一行。除非特别说明,每行的行首不应有空格,但行末通常可以有多余空格。另外,输出的每两个数或者字符串之间应以单个空格隔开。

    l  算法竞赛的题目应当是严密的,各种情况下的输出均应有严格规定。如果在比赛中发现题目有漏洞,应向相关人员询问,尽量不要自己随意假定。

    l  有一个例外:gets在C11中被移除了。

    l  一般改成四舍五入,即floor(x+0.5)#include <math.h>

    l  但在当前流行的竞赛平台中,int都是32位整数,范围是-2147483648~2147483647。

    l  在MinGW的gcc(7)中,要把%lld改成%I64d

    l  printf("Time used = %.2f ", (double)clock() / CLOCKS_PER_SEC);

    l  可以使用time.h和clock()函数获得程序运行时间。常数

    l  CLOCKS_PER_SEC和操作系统相关,请不要直接使用clock()的返回值,而应总是除以CLOCKS_PER_SEC。

    l  为了避免输入数据的时间影响测试结果,可使用一种称为“管道”的小技巧:在Windows命令行下执行echo 20|abc,操作系统会自动把20输入,其中abc是程序名(8)。

    l  使用文件最简单的方法是使用输入输出重定向,只需在main函数的入口处加入以下两条语句:freopen("input.txt", "r", stdin);freopen("output.txt", "w", stdout);

    l  在多数据的题目中,一个常见的错误是:在计算完一组数据后某些变量没有重置,影响到下组数据的求解。

    l  在算法竞赛中,如果不允许使用重定向方式读写数据,应使用fopen和fscanf/fprintf进行输入输出

    l  如果想把fopen版的程序改成读写标准输入输出,只需赋值“fin=stdin;fout=stdout;”即可,不要调用fopen和fclose(10)。

    l  当嵌套的两个代码块中有同名变量时,内层的变量会屏蔽外层变量,有时

    会引起十分隐蔽的错误。

    l  依然会输出10.0,应该是i为double的缘故。

     

     

    l  比较大的数组应尽量声明在main函数外,否则程序可能无法运行。

    l  数组不能够进行赋值操作

    l  如果要从数组a复制k个元素到数组b:memcpy(b,a,sizeof(int)*k)。如果数组a和b都是浮点型的,复制时要写成“memcpy(b,a,sizeof(double)*k)”。使用memcpy函数要包含头文件string.h。如果需要把数组a全部复制到数组b中:memcpy(b,a,sizeof(a))。

    l  使用fgetc(fin)可以从打开的文件fin中读取一个字符。一般情况下应当在检

    查它不是EOF后再将其转换成char值。从标准输入读取一个字符可以用getchar,它等价于

    fgetc(stdin)。

    l  不同操作系统的回车换行符是不一致的。Windows是“ ”和“ ”两

    个字符,Linux是“ ”,而MacOS是“ ”。如果在Windows下读取Windows文件,fgetc和getchar

    会把“ ""吃掉”,只剩下“ ”;但如果要在Linux下读取同样一个文件,它们会忠实地先读

    取“ ”,然后才是“ ”。

    l  C语言中的gets(s)存在缓冲区溢出漏洞,不推荐使用。在C11标准里,该函

    数已被正式删除。

  • 相关阅读:
    HDU2602:Bone Collector
    HDU5773:The All-purpose Zero
    LightOJ 1275:Internet Service Providers
    8.SpringMVC拦截器
    7.SpringMVC和Ajax技术
    Tomcat什么时候需要restart,redeploy,update classes and resources
    6.SpringMVC的JSON讲解
    5.SpringMVC数据处理
    4.SpringMVC的结果跳转方式
    3.SpringMVC的Controller 及 RestFul风格
  • 原文地址:https://www.cnblogs.com/greenaway07/p/10547050.html
Copyright © 2020-2023  润新知