EOF
while(scanf("%d",&a)!=EOF)||while(~scanf("%d",&a))
EOF是end of file的缩写,表示"文字流"(stream)的结尾。这里的"文字流",可以是文件(file),也可以是标准输入(stdin)。该宏定义在stdio.h中。
EOF不是特殊字符,而是一个定义在头文件stdio.h的常量,一般等于-1。
hash(哈希)
用另一个数组标记原数组,减短运行时间。
素数打表
int a[10000]={0};
for(j=2;j<10000;j++)
{
if(a[j]==0)
for(i=j+j;i<10000;i+=j)
a[i]=1;
}
将素数全部标记,想要判断素数,只需要a[j]是否等于0。
前缀和
数学上称为前N项和。
前缀和是一种重要的预处理,能大大降低查询的时间复杂度。