CSPS模拟 46

  勿忘国耻。

  由于重新评测我看到了不是很真实的一幕

  

  紧接着是更不真实的一幕

  

  就在虚假形象快要建立完成的时候

  

  它由于来自东方的神秘力量倒塌了

  被两个学校的大佬爆踩了(捂脸  

扫描二维码关注公众号,回复: 7317738 查看本文章

  T1 无脑背包?  

    考试时想1h想到吐血

    想不到什么比(除)$n^2$更(背包)(之外)的算法了

    真是深陷套路无法自拔啊

    没有好好在对$n$取模上做突破

    另外我也一直不清楚前缀和可以有$n+1$个位置,能怪谁啊$qwq$

  

  T2 无脑求众数?

    康了眼内存,16MB

    好像只能开个4e6的样子..

    开始考虑开数组骗分 为什么毒瘤出题人不给开成2MB这样我没准还能向正解靠拢

    

    那么其实我们并不是真正要求出众数,而是只关心那些出现次数超过了总数一半的数

    它有个神奇的性质,(想到它也正是因为这条性质)那就是它和与他不相等的数相互抵消之后

    一定不会被消净

    于是出现了神奇的处理方式,维护一个$id$,一个$cnt$

    $id$表示目前有可能是众数的数是谁,$cnt$是他消后的数量

    每生成一个$A[i]$,就更新一下两个变量,如果和$id$相等就给$cnt$加一,否则消去一个

    最后剩下的id就是可能的那个数

    再生成一遍统计他的次数。

  T3 不可做?

    康了一会发现是trie树,好像还挺可做的

    从数据范围看出只能承受$nlogn$

    那么trie树上每个节点只能$O(1)$了?

    所以要答案推答案?

    

    那初始答案只能是从底部开始了,那时候的排名是$n-1$

    此时是假定天数的二进制是和此人的能力值完全吻合,所以不断上行的过程时

    应该考虑“在这一位突然走向另一位”的答案

    这时此人的排名会前移,移的位数是另一个儿子的$size$

    发现答案的形式是一堆平方相加,仿佛可做

  

    如果走向另一个儿子的话,大不了这个儿子所有人一起前移,而这个儿子内部的相对排名仍然是那么多种

    所以直接把这个儿子的答案$copy$一遍,把前移而减少的贡献减去,加到一起就完事了

    (我是不是水题了)

猜你喜欢

转载自www.cnblogs.com/yxsplayxs/p/11547865.html