敲了一下浙大复试题,表示鸭梨有点大,虽然最后都AC掉了,而且感觉没有任何算法上的难度(大概就CF div2 的第二题难度),但还是感觉到细节之类的问题很让人头疼,这种题目换在平时的练习赛,估计能被AK完,但作为一场比赛就有点玄乎了(心理鸭梨有点大)....两个小时就能AK走人的人确实得orz orz orz
不知是哪位大神说的,虽然题目不是很难,但是想要拿满分还是有点难度的。。。
题目解法顺便也贴一下吧:
第一题:
map存有哪些元素,并记录下相应的元素的个数,差不多就是这样:map[t]++;
最后枚举一遍即可。
如果会出现超时的情况,应该是用cout输出的缘故吧。
第二题:
唯一一题我觉得需要想一想才能做出来的题,刚开始拿到这题,不像其他三题那样直接来想法(即已从理论上AC了)。
在纸上摆弄了一会,最后发现可以用优先队列做,不过我嫌麻烦就用multiset做(这就是悲剧的开始 T T)
先对所有人进行三级排序,分别按照财富、年龄和姓名排,然后开一个vector<people>v[250];的队列,依次存进去;
当进行询问时,将询问区间内的年龄的第一个依次取出放入优先队列,再取出队列头的人并输出,然后看一下取出的人的年龄,再从取出的人的年龄所在的v