ACM集训日记-8月15日

    昨天老师就在群里发了今天的练习赛网址,并附上一句话“这次练习赛有难度”,着实让我忐忑不安。又是新的一天,虽然日复一日,每天都在这间机房里度过,感觉也有种在工作的感觉,每天都写日记的日子已经过去近20天了,上次坚持这么久写日记又是什么时候了呢~

    今天早上的第一道题点击打开链接,牛看后脑勺??姑且这么叫把,牛能看到比自己矮的牛的脑袋,如果比自己高就看不到了,我一开始没用单调栈就暴力搜索以为没问题的,

    

for(int i=1;i<=n-1;i++)//TLE
    {
        for(int j=i+1;j<=n;j++)
        {
            if(c[j]<=c[i])cnt++;
            else break;
        }
    }

 

    果然一个TLE就是飞过来砸我头上,然后才说服自己用单调队列

 

for(int i=1;i<=n;i++)
    {
        scanf("%l64d",&a);//由于数据比较大用l64d
        while(rear>=front&&c[rear]<=a)rear--;
        c[++rear]=a;
        cnt+=rear;
    }

    下午做的训练赛确实难得可以啊,老师还加长了半小时,可见其难度,做的第一道题是F点击打开链接,看到这道题想到以前做过类似的,想着能不能找到递推的公式打个表,枚举了十来个后发现了规律n为奇数的时候数量等于n-1的,n为偶数的时候数量等于n-2加上n/2的数量。

 

   根据数据打标搜索就可。

    第二道题点击打开链接,就是一个求最大生成树,这个直接套模板,根本不用改,闭上眼睛上交~

    第三题点击打开链接,直接坑到我了,我以为是一道清真的弗洛伊德算法题,样例数据都过了还是让我WA,百思不得其解,结束后,我同桌告诉我有个地方,坑死我了,在输入的时候是要做处理的

 

for(int i=0;i<p;i++)
    {
        cin>>f1>>f2>>t;
        dis[f1][f2]=min(dis[f1][f2],t);//关键!!我也是服了这个输入,还会重复输入两点之间不同的时间···坑
        dis[f2][f1]=dis[f1][f2];
    }

    今天也就不知不觉的过去了,明天加油啊!
 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值