zoukankan      html  css  js  c++  java
  • 【学习笔记】 $learn from failure ? ( 雾$

    (1.)变量名不要用 (next) ,在某些编译器里可能是关键词,可以用 (nxt) 代替
    (\)
    (2.)在判断某些条件时应该写成

    flag = 条件 ? 1 : flag;
    

    而不是

    flag = 条件 ? 1 : 0;
    

    (\)
    (3.) (c++) 自带的 log2 函数貌似会很慢,可以先预处理

    for(int i = 1; i <= n; ++ i) log_2[i] = (i & (i - 1)) ? log_2[i - 1] : log_2[i - 1] + 1;
    

    (\)
    (4.)位运算尽量带括号,(因为太菜了,运算优先级搞不清

    (\)
    (5.)要是要用到 (long long) 乘法加法尽量把所有变量都设为 (long long),保不齐哪里就是几个 (int) 相乘又忘记强制改类型了就 (GG)

    (\)
    (6.)快速乘(在这之前我居然一直写的是 (O(log n)) 的龟速乘哈哈哈哈哈哈哈哈哈哈)

    inline ll mul(ll x, ll y, ll p)
    {
    	ll res = (ld) x / p * y + 0.5; 
    	res = (ull) x * y - (ull)res * p; 
    	return res < 0 ? res + p : res; 
    }
    

    (\)
    (7.)输出注意是否换行,是否空格

    (\)
    (8.) 清空数组少用 (memset) ,可以直接循环需要清空的范围

    (\)
    (9.)在处理很多数据的时候一定要想想相等的情况,或者重边之类的

    (\)
    (10.)数组下标不要从函数传到函数

    (\)
    (11.) 遍历字符串的时候用一个变量提前存字符串长度,否则是 (O(n^2))

    (eg:)

    F(i, 0, strlen(s) - 1) //O(n^2)
    
    int len = strlen(s);
    F(i, 0, len - 1) //O(n)
    

    (\)
    (12.) 手动o2
    #pragma GCC optimize(2)

  • 相关阅读:
    表单之input的样式修改
    文本省略和文本垂直居中展示
    text-align:justify的使用
    10- 禅道使用
    09- 软件缺陷
    08- 测试用例详解
    07- 场景分析法
    01- Python语言简介
    08. linux下 mv find grep命令
    1.4.19- HTML标签之注释标签
  • 原文地址:https://www.cnblogs.com/Bn_ff/p/12725797.html
Copyright © 2011-2022 走看看