5.31模拟赛总结
Posted Flame♡
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了5.31模拟赛总结相关的知识,希望对你有一定的参考价值。
今天没有特别困(或者说基本不困?除了七点二十五刚被叫醒那一会)
时间安排
7.35-8.00
看题 感觉T2显然可做 其他都有点迷
8.00-9.00
推T2 想了几个做法都假了 最后灵光一现XD(结果还是反向优化
9.00-9.30
打完T2
9.30-10.20
琢磨T1 只会前两档 想了想正解 编了一个优秀 n 6 n^6 n6 预处理dp 但是 n = 50 − 100 n=50-100 n=50−100 耶…就寄了
10.20-10.50
悬崖勒马先打了一下T3的部分分 本来想冲set 准备写的时候仔细一琢磨可以搞个bitset冲第二档 然后写写写
10.50-11.10
又琢磨了一下T1
11.10-11.40
看了看时间开始写T1 (最后写了100行左右(小企鹅挥手绢表情
11.40-12.00
最后检查了一眼 交题
题目分析
T1
第一档暴力枚举check(可以预处理 询问就不用check了 降低复杂度
第二档钦定开头 二分合法个数然后组合数
不会了 为啥人均60
T2
显然hull定理 考虑每个人对应一个超级计算机前缀 所以一定把前面所有人一起选上 X − Y X-Y X−Y 会最大
然后考虑查询其实是要求满足 ∑ j = 1 i a i < = c n t ∗ i \\sum\\limits_j=1^ia_i<=cnt*i j=1∑iai<=cnt∗i
但这玩意很难搞 左右两边都依赖 i i i
我想了很多办法 比如什么实数维护之类的 都躲不开这个问题
然后我想到了整体二分(罪恶的开始
我觉得到一个二分位置 把 − i ∗ m i d -i*mid −i∗mid 放到线段树里就好啦!
但是问题是 这样复杂度没有保证(很容易飙到n^2
做的时候弱智了 感觉复杂度是对的
寄
T3
考虑从 n n n 开始拓扑排序 每个点维护一个bitset记录哪些纪念品出现过
以上是关于5.31模拟赛总结的主要内容,如果未能解决你的问题,请参考以下文章