4.8&4.9春季模拟赛总结

我总觉得标题很诗意。。。

4.8

考试时长:3.5h
T1矩阵游戏

题意:有一个n*m的矩阵,初值1,2,3,4顺次下来,若干操作对把某一行或某一列的是乘x,最后求出矩阵的和%1e9+7

T2跳房子:

题意:依旧有一个矩阵,但是它是一个环(第一行和最后一行,第一列和最后一列相接),一开始在1,1每次向右,右上,右下中值最大点移动,若干操作,询问继续移动x步后的位置或改变某个位置的值。

T3优美序列:

题意: 一个序列,如果某一个区间中的数排序后是连续的,就称它为优美序列,若干询问l,r,求出包含区间l,r的最短区间。

总结:
这一天是返校第一天,由于前一天放假,所以我真的好困啊。。。
然后这场考试凉了,天灾+人祸??
首先三道题里面还是T1良心一点,我花了大概1个小时?并且认为此方法应该是对的。
等到T2,我已近困到不行,随便敲了个暴力(做梦一样),中间有想到循环节,但我困。。。
T3,我想的暴力,应该只有15分,于是我完全没有什么敲的欲望。
等到还有不到半个小时,我终于清醒了一些,然后我想写T3了,最终反正是没弄完。。。
最后得分…:0+20+0
首先说说T1,我真的也很绝望,此方法的确是对的,但是题目输入是将字符和数字一起输入的又因为数据范围较大,我决定用scanf(脑抽啊),然而scanf明显坑到不行,它只让我过了样例的输入…,改成cin就好了。并且还有一点,我写的程序极其慢,原因是快速乘,事实上它其实是可以卡在long long范围内的,T1就这么炸了
T2:
数据很良心,加个循环节能有80~85…
T3:
数据也很良心,15分成了50分…
现场榜被暴力虐了,三题暴力拿满估计能有rank 1
事实证明,暴力真的很珍贵的(无论分值),暴力一定要写,然后场上还是要对拍(用小数据手推也行的)。
ps:好好睡觉…

正解的话,T1就不讲了,
T2利用分块的思想(不会分块)跳的快一些,订正的时候在改变的地方挂了,因为是一个环不知道该怎么确定改变的区间。
T3优秀的迭代(暴力)基础上加分治,emmm,不懂,但是暴力似乎可以卡常过

4.9

考试时长:3.5h
今天不太困

T1旋转子段

题意:一个序列(数值1~n),选择一个子段旋转180°(首尾调换),如果一个数它在的位置等于它的值,它就是一个固定点,求最多的固定点数。

T2走格子

题意:一个矩阵,有墙,可以前后左右移动(花费1),可以发送传送门(不耗时),可以从一面传送墙到另一面传送墙(花费1),传送墙只能有两面,发现第三面时,第一面消失,求从起点到终点最小花费

T3柱状图

题意:一个数列,可以将每个数增大若干或减小若干(增大1或减小1花费1),求最后数列成为一个屋顶(最高的柱子两边的柱子都比它矮1,然后两边的柱子依次递减(差为1))的最小花费

总结:
今天决定好好写暴力。
T1题看错了,以为要旋转好几次来着,懵逼。
T2题目好长,感觉好烦啊。
T3一开始对于暴力很有信心,写完发现样例出不来,然后想起来,最高的那根柱子高度也是不确定的。好了,绝望。
回到T1,看清题了,感觉又有了信心,但是它依旧好难,推了一会,弄了 n 2 n^2 n2的暴力。
再次看看T2,我想的是以人的位置,两扇传送门的位置为状态,明显比较麻烦,因为传送门是在墙的某一面的,即使是对于部分分来讲也是很卡的,并且不好实现,无论深搜广搜。想了好久还是没什么感觉。
又开始看T3,此时还有半个小时的样子吧,这道题的瓶颈在于最高的柱子的高度( ≤ 1 e 9 \leq1e9 1e9),感觉应该是个单峰函数,当然写三分,O( n 2 n^2 n2 log ⁡ ( n ) \log(n) log(n))。
最后得分:65+0+55=120
其实我对T3很满意的,但是排名依旧不高,T1,T3正解对我来讲还是有难度的,主要是T2。
T2的话,题面太长可能也是原因,感觉信息太多,其实看一下问题的本质会发现只是移动多了一种方法(走到一个最近的墙,传送到之前那个位置四个方向的墙)。
认真思考一下问题本质,耐心一些
然后正解:
T1:这个问题有个强大的性质旋转有中心点,并且一个数要转到正确的位置上,其旋转中心点一定(可以计算的),把中心点一样的数弄一起,然后枚举这一堆数的那一段转了(这里要计算边界,边界似乎是由一个点决定的(懒得证。。。),所以O(n)),每个数只会被弄一次,所以基本上O(n),我考试肯定想不出来,订正的时候对于边界有几个点确定比较不清楚。
T2:本质已经说了,bfs预处理出每个点到离它最近的墙的最小花费,然后spfa,dijkstra都可以搞
T3:在三分的基础上把判定优化(树状数组什么的)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值