• 一些需要注意的点


      可能你死了都不知道你会怎么死的。

      这些错误我以前都没注意,然后死了。

      希望这篇文章能帮到你。

    卡常

    • 模数用const
    • 读入优化

    空间

    • 尽量多开一点点,比如用了长度为 (n) 的数组,空间就开 (n+10)
    • 有位运算特别是 (xor)(or) 时把数组开大一倍

    精度

    • 如果精度要求特别高,比如绝对误差 (leq{10}^{-10}),就要用long double

    数据类型

    • 计算一下是否要用 long long(如果你担心会算错而且题目不卡常可以无脑用 long long

    • 在做乘法取模的时候一定要把所有数强制转换成long long再乘,因为你并不能清晰的记得这些变量是int还是long long

    swap

    • swap交换数组时会交换两个数组内的所有元素而不是指针。

    对拍

    • 一定要各种数据都试一下,小数据,大数据,边界情况。

    • 出数据时尽量避免几个量 (n,m,q) 相等的情况,特别是网格类的题。

    • 很多要取模的题可以在对拍的时候换一下模数(比如说换成特别小的模数),以检验是否有不该取模的地方加了取模,该取模的地方没有取模。

    其他

    • 在求组合数的时候要特判 (n<m) 以及 (m<0) 的情况。
    ll binom(int x,int y)
    {
    	return x>=y&&y>=0?fac[x]*ifac[y]%p*ifac[x-y]%p:0;
    }
    
    • 多加小括号,否则可能你想写
      (1<<i)-1
    

    会被解释成

      1<<(i-1)
    
    • 多加大括号,否则可能你想写
      if()
      {
          if()
          	;
      }
      else
        	;
    

    会被解释成

      if()
      {
          if()
          	;
       	else
            	;
      }
    

    dfs树

      注意重边带来的影响。

  • 相关阅读:
    对我最重要的三个老师
    究竟 javascript 错误处理有哪些类型?
    前端小白凭什么杀进 BAT?
    金九银十,换工作热潮来临!
    适用于Java开发人员的SOLID设计原则简介
    在5分钟内将Spring Boot作为Windows服务启动
    Redis中的Java分布式缓存
    Arrays工具类详解
    SpringBoot整合redis
    java 数组用法详解
  • 原文地址:https://www.cnblogs.com/ywwyww/p/8511472.html
Copyright © 2020-2023  润新知