- 博客(3)
- 收藏
- 关注
原创 2025牛客寒假算法基础集训营3
大致想法就是把v=1和v=-1的分别放到数组a, b,然后二分时间x,对于向右走小球能碰撞的第一个一定是b中第一个比它大的,最后一个碰撞的一定是b中最后一个小于当前位置+时间x的那个,然后二分这个x让它刚刚好等于k即可,因为是一起运动的最后再除2即可。大致思路如下:对于相同前缀的单词我们只要退格不同后缀最短的那个,然后再加所有不同的字母,在字典树中呈现出来的就是当前节点的权值为这个节点的子节点数量减去它最长的那个子树,我们只要算根节点即可 最后答案就是所有节点数加上根节点的那个权值即可。
2025-01-26 20:32:56
509
原创 2025牛客寒假算法基础集训营2(C, D)
思路:观察到任意一个存在符合要求的a, b必然满足s出现两个及以上相同的字母、再进一步思考怎么使得这样的子串长度最大,也可以轻易的想出来,只要看一个字母倒数第二个的位置和第二个出现的位置即可,比如s = "abcdbb" b的位置 = {2, 5, 6} 因为要留下一个字母组成非连续所以只选取第二个和倒数第二个,k = max(5 - 0, 6 - 5),k = 5。赛时被C题坑苦了(E好像ST表能做,本人线段树不太行)
2025-01-23 23:10:29
404
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人