zoukankan      html  css  js  c++  java
  • 玄学

    持续更新中..

    /*

    2019-08-22 upd:

    原帖叫“OI学习中需要注意的”,今天看到觉得这个标题太sb了就改了

    然后看了看内容感觉也比较sb就删了一大半

    精简了内容,现在只记录c++的一些与玄学有关的特性,方便查阅,防止爆0

    */

    大量莫名其妙的WA RE元凶集中于此
    主要是C++的一些“特性”导致的

    考前必看!

    左移右移如果涉及到long long一定给常数加上LL,否则会爆int e.g:1LL<<64 

    c++11的std多出许多全局函数,如next(),begin(),end(),你的程序不能使用这些变量名,否则直接CE爆零。但是默认的c++版本并非c++11,所以如果你使用了这些变量,编译器不会报错!在编译选项中加入-std=c++11就可以解决该问题。(然而也不是一劳永逸,c++11能通过编译的c++又不一定能过,,,总之建议都试一下保险)

    建议开启全部编译警告,这样编译器能帮你找出部分bug。加上-O2会提示更多可能的错误

    运算整数时不要信任任何stl!特别是cmath里面的数学函数,非常坑

    比如pow()算整数时大概率误差

    比如abs()整数linux编译过不了(可以引用cstdlib,里面有整数的abs)

    如果遇到了一些完全无法解释的错误,比如说一cout就对注释掉就错之类的奇葩问题,八成是地址越界了,好好检查一下数组!

    关于vector:其实常数很小,可以放心使用。但是一定不要嵌套写高维vector,这样搞常数大的飞起(尤其是写矩阵的时候)

    cout很多时候比printf快得多。

    multiset, multimap等可重STL的erase函数会删除多个元素,可用multiset::erase(multiset::find(x))替代。

  • 相关阅读:
    poj 3125 Printer Queue
    poj 1877 Flooded!
    hdu 4121 xiangqi 模拟
    Codeforces Round #268 (Div. 2)
    hdu 4096 Universal Question Answering System
    hdu 1720 c++一水
    lab1
    homework2
    第一次作业
    IFE_part2_JavaScript_数组去重/trim()
  • 原文地址:https://www.cnblogs.com/sun123zxy/p/metaphysics.html
Copyright © 2011-2022 走看看