GMOJ 2021.1.15模拟赛总结

GMOJ 2021.1.15模拟赛总结

第二天考的是2012NOIP提高真题Day1T3和Day2三道题,只会打T2和T3(和另外两题难度根本不是一个等级)

T1 开车旅行
很容易想得到思路一定是先预处理每个城市上小A和小B要跳到的下一个城市,然后直接模拟,分两部分看
1.预处理部分 暴力 O ( n 2 ) O(n^2) O(n2)直接爆炸。但是可以优化,比较容易的做法是先排序 用链表串起来然后从头到尾扫一遍,每次只用看相邻的四个(左边两个右边两个)城市,扫完当前的直接删除。因为是从头到尾扫所以只会出现当前城市以东的城市。复杂度 O ( n l o g n ) O(nlogn) O(nlogn)
2.模拟部分 暴力 O ( n m ) O(nm) O(nm)但是比较容易想到的是使用倍增跳。复杂度 O ( m l o g n ) O(mlogn) O(mlogn)
综上 总复杂度为 O ( ( n + m ) l o g n ) O((n+m)logn) O((n+m)logn)可以通过本题。
本题难点在于预处理

T2 同余方程 exgcd板题

T3 借教室
两种做法。比较容易想到的是用线段树直接模拟,显然是 O ( n l o g n ) O(nlogn) O(nlogn)的,但是常数较大,比赛时我用的是这种方法被卡了。。
还有一种其实也是容易想到的,就是二分一个答案,然后用差分来判断这个mid之前的教室有没有发生矛盾。可以看出复杂度也是 O ( n l o g n ) O(nlogn) O(nlogn)但是常数小了不止一点。

T4 疫情控制 不会。现在还是不会。

其实比赛打的也不是非常差。。比较遗憾的是T1比赛时暴力打挂了
NOIP2012为什么部分分这么多???T1模拟70????T2暴力70????

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值