学习数据结构过程中所遇到最恶心tle的情况(自己所遇到:)

在学习数据结构的过程中收获到了很多的经验:(不喜勿喷,谢谢)


下面的所有提交的题目都是在sdutacm中:


总结:数据结构

提交实验代码的时候发现,常常会出现tle: 

* 一: 用c++的语言编写的,c++中的cin和cout都要比c中的scanf与printf用的时间长;接下来是讲述这两者的区别c++的输入输出是有兼容性的:cin与stdin是一样的, 可以混用,也就是说一个程序里面可以一会用cin一会用stdin。cout和stdout是一样的,可以混用。因为c++要解决这样的兼容性的问题,所以对内存的开销等要求就应该比c更高。所以可以知道了c++的输入输出流比c的慢。解决方法:std::iOS::sync_with_stdio(false);  这样就能近似于去掉了stdin和stdout,这样每一次c++的运行只保证cin与cout的成功,这样速度就会增快。  同时也可以得出结论:c++的cin与cout运行速度差不多是c的scanf和printf的一倍。

二:还有一种情况tle,就是c++的头文件用的太多了,或者直接用了#include。因为程序在运行的时候会寻找属于自己的头文件(我是这么理解的),如果头文件太大就会导致寻找的时间太过于长,这样就会tle。#include这句话代表(包括)了c++中的所有的头文件,所以在里面寻找属于自己的头文件很麻烦。

三:也可能是数组开大了,开的太大,会导致内存爆满,浪费空间。处理方法是在main函数外面开辟数组。


四:好像有时候用 int会超时,但是改成long long就可能不会超时。


你可能感兴趣的:(编码的问题和笔记)