[闲聊] LeetCode Biweekly Contest 97

楼主: fxfxxxfxx (爱丽丝)   2023-02-05 00:00:22
这次又爆炸了
好像只要是刚睡醒的状态都不太行
https://i.imgur.com/4UlCldZ.png
这次没有 hard 也能被我搞到破一个小时
太苦了
1. Separate the Digits in an Array
转成字串再一个一个字符转回整数
2. Maximum Number of Integers to Choose From a Range I
因为挑比较小的数字一定不会更差
所以可以由小挑到大,看最多能挑几个
如果遇到在 banned 里就跳过
我是直接把 banned 转成 set 来做比较好写
3. Maximize Win From Two Segments
debug 了好久才发现是没有更新到目前的最佳解
浪费了 30 分钟
令 M[i] 是考虑以 1 <= x <= i 的某个值为尾端时,选一次的最佳解
则到 i 为止选两次的最佳解 ans_i 为
ans_i := M[i-k-1] + (prizePositions 里 <= i 且 >= i-k 的个数)
用 lower_bound 搜一搜即可
如果想用 two-pass 要考虑好 k=0 的情况
4. Disconnect Path in a Binary Matrix by at Most One Flip
首先我们先把不能形成路径的挑掉
能形成路径若且唯若有路能从起点到达且有路能到达终点
把不能形成路径的挑掉之后
能借由砍掉一个节点使得到不了的条件是:
所有路径都会经过这个点
因为对于任意一个点,他和起点的所有路径的长度都一样
所以所有路径都会经过这个点的条件就会是:
用 BFS 时,到这一层时只有他这个节点
所以只要用 BFS 发现某一层的人数 <= 1 即可成功
总觉得有更好的作法就是了
忘了检查有没有加入过这个节点吃了一次 penalty
作者: dannyko (dannyko)   2023-02-05 00:31:00
大师
作者: pandix (面包屌)   2023-02-05 01:33:00
大师

Links booklink

Contact Us: admin [ a t ] ucptt.com