2023大厂真题提交网址(含题解):
www.CodeFun2000.com(http://101.43.147.120/)
最近我们一直在将收集到的机试真题制作数据并搬运到自己的OJ上,供大家免费练习,体会真题难度。现在OJ已录入50+道2023年最新大厂真题,同时在不断的更新。同时,可以关注"塔子哥学算法"公众号获得每道题的题解。
前言:官方给的那一套状压 + 线性dp转移真不太好懂。。。区间dp的思想还是很自然.
题目大意:
给一个一维坐标轴,有 [ 0 , n ] , n + 1 [0,n],n+1 [0,n],n+1个点。原始上面有 k k k个圆.你现在需要往上面放置若干个半径不超过 5 5 5的圆使得圆之间互不相交(可以相切). 问你有多少种合法方案,对其 m o d 1 e 9 + 7 mod \ \ 1e9+7 mod 1e9+7.
n ≤ 1 e 3 , 0 ≤ k ≤ 5 n . n \leq 1e3, 0 \leq k\leq5n. n≤1e3,0≤k≤5n.
题目思路:
显然dp。考虑不存在原始的 k k k个圆的情况:
分析 :很容易发现圆的关系其实与合法括号对是很相似的。容易发现一个区间dp.
令 d p ( l , r ) dp(l,r) dp(l,r)代表区间 [ l , r ] [l,r] [l,r]合法方案数.对于最外层,要么套一个圆,要么不套圆,对内部结果不影响,所以最终结果乘 2 2 2。但是外面能套圆的条件是