[ 联合省选 2020 A | B ] 冰火战士 题解
创始人
2025-05-30 04:38:26
0

学校里面写这道题的时候洛谷炸了,自己搞出来了。

Part 0

记当前温度为 TTT ,小于等于 TTT 火战士能量和为 f1(T)f1(T)f1(T) , 大于等于 TTT 冰战士能量和为 f2(T)f2(T)f2(T) 。

由于能量有剩余的战士会一直战斗下去,此温度下的能量和应该为 min⁡(f1(T),f2(T))\min (f1(T),f2(T))min(f1(T),f2(T)) 。

而对于 f1(T),f2(T)f1(T),f2(T)f1(T),f2(T) 的计算,我们将温度作为下标,即为对于温度 TTT 的前缀和 / 后缀和,考虑使用树状数组。

注意到温度 ≤109\le 10^9≤109 而 Q≤2×106Q \le 2\times 10^6Q≤2×106 ,将温度离散化。

Part 1

我们枚举温度 TTT ,找到能取到能量最大值的最大温度,时间复杂度 O(Q2log⁡Q)O(Q^2 \log Q)O(Q2logQ) 。

Part 2

答案应该为随 TTT 的增大的单峰函数,但是由于最大值可能有很多个,三分法不方便实现。

f1(T),f2(T)f1(T),f2(T)f1(T),f2(T) 应该随着 TTT 的增大而分别单调增和单调减的,为了使两者中最小值最大,答案应该在交点处取到,而考虑到温度的离散,答案不一定能取到交点。

我们可以先二分找出 最后一个 满足 f1(T)

此时时间复杂度 (Qlog⁡2Q)(Q \log ^2 Q)(Qlog2Q) 。

Part 3

类似树状数组找第 kkk 大,由于树状数组中 tree[x]tree[x]tree[x] 管辖的区域是 lowbit(x)lowbit(x)lowbit(x) ,那么从 000 开始,每次加 2i2^i2i ,累计的和一定表示从 111 开始的连续区间。我们根据这一特性在树状数组上倍增找出 k1,k2k1,k2k1,k2 ,这一部分就从原来的 log⁡2Q\log^2Qlog2Q 优化到了 log⁡Q\log QlogQ 。

此时时间复杂度 O(Qlog⁡Q)O(Q \log Q)O(QlogQ) 。

相关内容

热门资讯

张家口一住宅楼交房两年地基下沉... 极目新闻记者 李贤诚 极目新闻此前报道,河北张家口一小区交房两年即现地基沉降,地下车库墙体及立柱多处...
适用多少国家?是否有施行期限?... 今天(11月23日),国家移民管理局针对单方面免签政策常见问题进行解答。 1.哪些国家人员可适用单方...
每周股票复盘:天宜新材(688... 截至2025年11月21日收盘,天宜新材(688033)报收于5.47元,较上周的6.41元下跌14...
万达再陷危机,王健林在崩溃边缘 来源:市场资讯 (来源:新行情) 生死存亡之际。 出品 | 新行情 作者 | 松涛 “眼看他起朱楼...
每周股票复盘:欧普照明(603... 截至2025年11月21日收盘,欧普照明(603515)报收于17.6元,较上周的18.3元下跌3....
曼城本轮输纽卡!大数据预测英超... 在英超第12轮的较量中,曼城以1-2不敌纽卡斯尔,这场比赛不仅令卫冕冠军的争冠之路蒙上阴影,也为阿森...
原创 4... 11月21日19点,湖北黄冈市黄州区某小区羽毛球馆,灯光惨白。43岁的刑辩律师林辉一个跃步劈杀,球拍...
7轮6负!英超-红军锋线集体梦... 北京时间11月22日23时,2025-26赛季英超联赛第12轮继续进行,坐镇安菲尔德球场的利物浦0-...
问法预告丨聚焦“保险理赔纠纷”... 保险为参保者提供兜底保障,是人们生活和工作过程中的贴心保障。可是,“保”到用时限制多的情况时有发生,...
原创 中... 据澎湃新闻报道,当地时间11月16日的福克斯新闻晨间节目里,美国财政部长贝森特的表态把中美战略博弈的...