ACM--常识问题

来源:互联网 发布:esp8266单片机51程序 编辑:程序博客网 时间:2024/06/05 05:57
int main(){          int n;     cin>>n;     cout<<n;      return 0;}

1.对于这段代码,当输入001时,输出是1.也就是会自动忽略前面的0


2.如果出现超时,试着把流输入输出改成scanf(),printf()


3.对于有些题目,如精确到后两位,如果说像求比率的话,可以用fixed和setprecision四舍五入,但是,像Cable Master这道题,如果你求出的答案为0.009,四舍五入为0.1.实际上,0.009是不符合题意的。故此处应该直接取后两位。

具体方法printf("%.2lf",int(x*100)*0.01),这样便可以得到正确结果。


4.如果c和c++混写,尽量用G++提交代码,一般情况下运行时间更短。

   用G++时,double型输入用%lf,输出时用%f

  G++就是linux下的c++编译器。

5.对于二分法,为避免出错,初始区间的右值如果没有明确给定,可以设置一个比较大的数。

6.程序中的一些数学函数,如求幂运算,如果用函数库里的pow可能会超时,故尽量用自己写的函数.

快速幂运算函数:

long long fun(long long a,long long b)  {      long long res=1;      while(b)      {          if(b&1) res*=a;          a=a*a;          b>>=1;      }      return res;  }  



0 0
原创粉丝点击