2022 5.29模拟

三个点,做三道题。

预估:100+100+随机

实际:100+80+30

虽然我最后一个点好像是罚坐。。知道写的是假的,但是不会写正解。。

先拿到题,看了一眼T1,好像就是一个斐波那契,然后在草纸上推推就出来了,看到数据范围顺手define int long long,就过了。

然后看T2,一开始没啥思路,看了一会就去看T3了。

T3看到最大值最小,就第一反应想到了二分,于是就写了个二分最小值。样例过了,一开始我还挺高兴,以为切了,就没有管。

回去看T2,哦好像看题目中的描述,跟逆序对有点关系。在草纸上一顿笔画,也算是看出来第一次交换完,只可能存在需要划分的段的长度都小于等于2。这时就想到了某道题(具体忘了,但好像是ybt上面的),每次反过来排序,就是相当于减少了一个逆序对。所以第一次交换完,直接看有几个逆序对就可以了。

花了一会写了个树状数组求逆序对,样例过了。这时估计也就过去了一个点,剩下的两个点不知道干啥,就去自己写几组样例去对拍T2。

用另一个程序写了个n^2的T2和自己的程序对拍。但没想到,我写n^2的时间比我写nlogn的时间还要长。。

写完了两个程序拍了几组自己造的样例,也过了,就觉得也是切了。

回去T3自己又造了两组数据,但是过不去。这时我就想到,好像T3没有想象中的那么简单。好像答案不具有单调性,或者说不能直接二分。想了一段时间也没想出来怎么做,最后从后往前又二分了一遍,也算是偏分了。最后罚坐到考试结束。

处分后,发现T2没开long long挂了20分。。没想到那个数据范围也会暴int /(ㄒoㄒ)/~~

T3样里好像有点水,假的二分也能骗过去20。正解好像是DP+二分+单调队列。只能说自己的实力不够吧,这种难题看到了还是没有思路。

总结:以后多注意long long,还有不要有固定思维,拿到题多考虑一下有没有什么更好的做法。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值