• 梗串


    链式前向星,双向边的nxt,to,w数组一定要开两倍!!!

    注意点和边的个数,不要混淆。

    实在不行就写vector

    数据类型

    1、方案数不取模最好开long long,避免溢出。

    2、最好做题前先预算答案范围。

    3、使用浮点数时,比较大小定义eps。

    循环:

     

    for(i=1;i<=n;++i)
        for(j=1;j<=m;++j)//不要打成i,要及时检查;要打m时不要打n

     

    初始化:

    多组数据:

    检查每个非读入变量、数组、STL容器,全部清空。

    有些容器用clear,queue一类的记得

    while(!q.empty()) q.pop();

    变量/数组:

    答案如果有负数要注意,DP的f数组初值一般不能设为0。

    不合法的可能要设为 $-infty$

    BFS:

    Dijkstra类的广搜,不管队列里什么数据,更新时都要用当前最新状态!

    倍增求LCA:

    for(i=1;i<=lgn;++i)
        for(x=1;x<=n;++x)
            f[x][i]=f[f[x][i-1]][i-1];

    for循环的两维,i代表递推顺序,从f[x][i-1]才能到f[x][i],一定要写在外面。

    STL:

    使用lower_bound等函数要写成员函数,效率较高。eg:

    multiset<int> st;int x=1;
    
    lower_bound(st.begin(),st.end(),x);//反面教材
    
    st.lower_bound(x);//正确写法,效率较高

    其它:

    题意一定要看清楚!!!有看似矛盾的句子要多看几遍,找出每句话的意思,排除矛盾。

    讨论很多情况的题目,要不重不漏,写全代码。

    写法一定要简单、直接,不同意义的变量尽量明显地分开,不要共用一个数组。

    选择自己常用、有把握的代码风格。

     

  • 相关阅读:
    Assimp对FBX文件中geometric transformations的处理
    VSM
    WSL安装
    [p1880][NOI1995]石子合并
    【日常】集训总结
    【模板】背包
    【济南集训】20191006解题报告
    [P1516]青蛙的约会
    【模板】ST表
    【济南集训】20191001解题报告
  • 原文地址:https://www.cnblogs.com/xzs123456/p/11149902.html
Copyright © 2020-2023  润新知