[闲聊] Biweekly Contest 98

楼主: fxfxxxfxx (爱丽丝)   2023-02-19 00:24:50
GG 只写出三题
https://i.imgur.com/5U04VCr.png
看讨论区 真的要用线段树喔
我想说虽然一眼就像线段树
不过 LeetCode 应该不会真的出一定要线段树的题目吧
就在那边想有没有其他解法
我线段树这辈子应该写不超过五次 :(
看来是要认真练个几遍了
其他题好像也没什么好讲的
第二题就排序完之后分三种 case:
[0, n - 3]
[1, n - 2]
[2, n - 1]
也可以不用排序找前三大跟前三小
不过反正够用
第三题有几个观察:
1. 如果不存在 2^k, 则不可能造出 2^k
2. 如果可以造出 [1, 2^k - 1] 且存在 2^k
则可以造出 [1, 2^{k+1} - 1]
所以找到第一个不存在的 2^k 即可
有点不想发 因为最后一题没写出来 就感觉没什么好发的
不过还是姑且纪录一下八
作者: NTHUlagka (拉卡)   2023-02-19 00:29:00
第四题看到就准备放弃了 线段树真的不会但好像有人用不是线段树的做法欸 最顶那个python的
楼主: fxfxxxfxx (爱丽丝)   2023-02-19 00:39:00
那是很容易想到的假解 如果最后还是过了会是LeetCode的问题
作者: NTHUlagka (拉卡)   2023-02-19 00:52:00
你是说lee用的那个bit_count是假解 怎么说愿闻其详 是会TLE吗?
楼主: fxfxxxfxx (爱丽丝)   2023-02-19 01:04:00
可能也不一定算假解 不过这种作法复杂度还是O(n^2)我不确定python整数底下怎么做的 如果是像bitset那样那加速64倍的话 10^5 * 10^5 / 64就算过也会是在边缘 而且我是不觉得应该过就是了你看lee也不是自己发一篇而是在别人底下留言
作者: pandix (面包屌)   2023-02-19 02:12:00
线段树放弃
作者: NTHUlagka (拉卡)   2023-02-19 10:10:00
可能是吧 我对python不太熟 谢大师讲解

Links booklink

Contact Us: admin [ a t ] ucptt.com