我撸铁五年了,却被一个小白说,我不减肥做有氧运动不行。就好比女孩子减肥不做力量训练掉肌肉

现场这题写的好挫最后也没调絀来,今天改良了一下代码找到了BUG,终于AC了~

我深深的SB了好久这题是队名字典序大的排前面Orz....

简单回顾下题意,给出N个(N<=50000)个提交包括队名,题目时间,返回然后让你输出比赛结束封榜状态下的榜,滚board的过程和最终榜

首先5W个提交暴力撸是不行了需要set优化一下

我们先封装┅个Team结构体,包括队名解题数,罚时什么的然后对于每个题目,记录ac时间封榜前(后)是否通过,封榜前no的数量封榜后的提交数,和總的no的数量

然后重载一下<运算符用索引扔到set里面,每次从最后面取出一支队并删掉对这个队relax一下,就是处理当前的第一个pending我用了一個vector存的

处理之后就可以看看插回去的时候他在哪,如果不是最后一名了就说明rank有变化

同时如果取出的队伍pending.size()为0,就说明这个队已经没有pending了直接从set里删掉就好

现场的时候脑残没写索引,华丽丽的TLE了这种结构体里面元素多的时候还是直接上索引吧

另外提交不是按时间给出的,也要先读入再排一下序

最后我把一个队交题(add)和处理pending(relax)都封装在Team结构体里面了这样代码清晰了很多

具体的细节可以参考代码

我要回帖

 

随机推荐