![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
2022暑期集训
文章平均质量分 80
Uniecho1
这个作者很懒,什么都没留下…
展开
-
CF#744 G. Minimal Coverage
原题链接 emmm首先直觉告诉我们这个题的答案一定不会超过2000(2∗max(A[i]))2000(2*max(A[i]))2000(2∗max(A[i]))。证明起来其实也蛮简单的。 然后我的第一反应是,枚举最终形成线段的左端点是由哪个子线段的左端点形成的,然后两边直接跑背包,最后取两边的maxmaxmax就好。 但是这样做时间复杂度会是O(max(A[i])∗n2)O(max(A[i])*n^2)O(max(A[i])∗n2)不可能过得去,得想办法把nnn给消掉一个。 感性分析一下,只能是把枚举左端点原创 2022-06-25 16:58:49 · 84 阅读 · 0 评论 -
ABC 203F WEED
原题链接 这个题显然是一个dp题。对杂草高度简单排个序,关键点在于状态的设计。 下意识地,我们会令dp[i][j]dp[i][j]dp[i][j]表示考虑前i棵杂草,先拔掉其中j棵,最后所需的操作次数。 显然有 dp[i][j]=min(dp[i−1][j−1],dp[lower_bound(A+1,A+N+1,A[i]/2+1)−A−1][j]+1) dp[i][j]=min(dp[i-1][j-1],dp[lower\_bound(A+1,A+N+1,A[i]/2+1)-A-1][j]+1) dp[i]原创 2022-06-25 16:36:39 · 83 阅读 · 0 评论