ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

睿智错误

2020-11-09 22:04:54  阅读:265  来源: 互联网

标签:cnt 睿智 错误 int memset head long sizeof


鈤啊,最近手残导致fst得好多啊淦,以前总是觉得没必要记录,现在一想还是记下来防止下次吧/kk

以下我分几类来记录。

数据类型和范围

虽然这方面我还是很注意很注意,但还是避免不了睿智错误/kk

×:

    1<<i

√:

    1ll<<i

×:

    long long x = (1ll << 64) - 1;

√:

    unsigned long long x = 0;
    x--;

\(1<<i\)和\(1>>i\)中的\(i\)比\(64\)大或比\(0\)小是ub!!!

虽然跑出来答案没错,但是不要这么写!


×:

    long long a;
    printf("%d",a);

√:

    long long a;
    printf("%lld",a);

别问,问就是真犯过。


多测不清空

我对此真的是深恶痛绝

×:

    memset(head,0,sizeof(head));

√:

    memset(head,0,sizeof(head));
    edge_cnt = 0;

×:

using namespace std;
int cnt;
int main()
{
    while (T--)
    {
        if (...)
            cnt++;
    }
}

√:

using namespace std;
int cnt;
int main()
{
    while (T--)
    {
        cnt = 0;
        if (...)
            cnt++;
    }
}

初值问题

这个最近可能不多,但还是放出来。

×:

    int f[N];
    memset(f,127,sizeof(f));
    f[i] = min(f[i],f[i - 1] + f[i - 2]);

√:

    int f[N];
    memset(f,127,sizeof(f));
    f[i] = min(1ll * f[i],0ll + f[i - 1] + f[i - 2]);

标签:cnt,睿智,错误,int,memset,head,long,sizeof
来源: https://www.cnblogs.com/sdlang/p/13951118.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有