牛客周赛 Round 10 解题报告

牛客周赛 Round 10 解题报告 在牛客博客上

https://blog.nowcoder.net/n/78952ae55788456aabe075d175377afe

A. 简单的滑窗

它本质是数组切分成块

枚举左端点,然后寻找最远的右端点

然后把新的左端点挪到上一个右端点+1

B. 有趣的DFS题

非常容易TLE,最好的方法是分组计数,然后dfs,这样天然去重

感觉这题还是卡 去重 的方式了

C. 数学题

典型的凸函数

有两种方式,一种是三分模板,另一个种是求导数

导数需要注意:t = (sqrt(xy) - v) / x, 有可能为负, 但是时间是非负数

因此最小的时间点 t = max( (sqrt(xy) - v) / x, 0)

D. 回文计数

分类讨论

  • 同一个01序列中, 长度为len, len*(len+1)/2
  • 中心扩展,两边延伸,则min(arr[i - j], arr[i + j])

n = 1000, 所以可以大胆的n^2

全部评论

相关推荐

点赞 评论 收藏
分享
评论
3
1
分享
牛客网
牛客企业服务