zoukankan      html  css  js  c++  java
  • 做题中的错误总结

    马上NOIP2018啦,突然发现自己比去年还菜,写水题时出现了很多错误,记录一下。

    2018.7.8

    luoguP2016 战略游戏

    节点从0编号。

    所以以i为根时不能设i的根为0,应设为-1

     for(int i=0;i<n;i++)
            dp(i,-1),ans=min(ans,min(f[i][0],f[i][1]));

    2018.7.9

     luoguP1171 售货员的难题

    开始时开数组过大导致MLE,改小后90分,TLE一点,被卡常了QWQ

    2018.7.10

    luoguP1154 奶牛分厩

    本来想切一切水题的,结果还WA了

    不过还想是前面想复杂了QwQ

    2018.7.16

    luoguP1922 女仆咖啡厅桌游吧

    树形DP,开始状态转移方程推错了

    2018.7.21

    luoguP2422 良好的感觉

    没开longlong见祖宗

    luoguP2627 修剪草坪

    前面一直没有想好单调队列的入队和出队的条件,还是思维太差。

    luoguP3146 [USACO16OPEN]248

    状态转移的顺序+边界条件没有想清楚

    2018.7.22

    NOIP2013 车站分级

    一次AC,然而调试了很久。读题+思路的问题:一辆车没经过的车站在起始站与终点站之间

    NOIP2009 最优贸易

    一次AC,然而还是调试了很久,主要是反向建边时和正向的用的一个head数组。

    NOIP2013 转圈游戏

    把快速幂写成这样,然后还过样例了??!

    inline ll qpow(int a,int b)
    {
        ll ans=1,mul=a;
        while(b)
        {
            if(b&1) ans*=mul,ans%=n;
            mul*mul,mul%=n;
            b>>=1;
        }
        return ans%n;    
    }

    2018.7.23

    NOIP2013 火柴排队

    忘取模了都有80分qwq

    NOIP2014 寻找道路

    BFS+SPFA

    坑题:我们一开始反向bfs,把终点能走的点记录到一个vis数组里;

    然后遍历一遍不和终点连接的点,把vis数组置为false。

    把vis数组置为false之前一定要备份一份vis数组

    如果一个点一开始被标记,它通过一个不和终点连接的点删除了,那么有可能过一会被当作一开始就没有标记的点!

    CF19A World Football Cup

    模拟。本身就不擅长这种题,错误如下:

    1.题意有问题

    2.对于字符串操作不熟

    2018.7.24

    NOIP2010 关押罪犯

    数组开小

    CF1009B Minimum Ternary String

    多次调用strlen函数导致TLE,拿一个变量记录lena就行了

    [USACO16Jan]建门 gates

    有一些细节没有讨论好

    2018.7.25

    [JLOI2014]松鼠的新家

    线段树空间开4倍,add数组开4倍

    [NOI2015]软件包管理器

    update的时候写下了这样的代码:

    inline void update(int o,int x,int y,int z)
    {
        int l=tree[o].l,r=tree[o].r;
        if(x<=l&&y>=r)
        {
            add[o]=z;
            tree[o].sum=(tree[o].r-tree[o].l+1)*add[o];
            return;
        }
        else
        {
            if(add[o]!=-1) pushdown(add[o]);
            if(x>r||y<l) return;
            update(lc,x,y,z);
            update(rc,x,y,z);
            tree[o].sum=tree[lc].sum+tree[rc].sum; 
        }
    }

    luoguP3384 【模板】树链剖分

    dfs2的时候写下了dfs2(root,1)的神奇代码。

    正确的是dfs2(root,root)

    P3387 【模板】缩点

    数组开小

    2018.7.26

    luoguP1529 回家

    SPFA写错,少写了inq[u]=0

    inline void spfa()
    {
        for(int i=1;i<=200;i++) dis[i]=1<<30;
        queue<int>q;
        dis['Z']=0;
        q.push('Z');
        inq['Z']=1;
        while(q.size())
        {
            int u=q.front();
            q.pop();
            inq[u]=0;
    for(int i=head[u];i;i=g[i].next)
            {
                int v=g[i].to;
                if(dis[v]>dis[u]+g[i].val)
                {
                    dis[v]=dis[u]+g[i].val;
                    if(!inq[v])
                    {
                        q.push(v);
                        inq[v]=1;
                    }
                }
            }
        }
    }

     2019 初三升高一 暑假

    [NOI2004] 郁闷的出纳员

    不会输入字符串了

    记得刚开始加入一个INF节点防止树空了

    暴力修改

    [HNOI2010]弹飞绵羊

    不要把变量搞混

  • 相关阅读:
    用数据管理过程(2)——通过经验值管理项目
    用数据管理过程(3)——可预测级别的量化管理(麦当劳的管理方式)
    JMeter对Oracle数据库进行压力测试
    [置顶] Linux下的截图小工具
    [互联网面试笔试汇总C/C++-7] 寻找两个链表的第一个交点-微策略
    使用 OpenSSL API 进行安全编程
    带外数据的接收与发送
    oracle本月、上月、去年同月第一天最后一天
    mysql查看权限的命令
    php的一个验证邮箱的正则表达式
  • 原文地址:https://www.cnblogs.com/wlzs1432/p/9371163.html
Copyright © 2011-2022 走看看