这是我参与8月更文挑战的第16天,活动详情查看:8月更文挑战
1953. 你可以工作的最大周数
思路分析
这道题应该就是找到最大周阶段任务数max,以及其余周阶段任务数和sum,如果sum >= max 则最多工作sum + max周,否则最多工作 2 * sum + 1周.
(一个简单的数学题)
1954. 收集足够苹果的最小花园周长
思路分析
你将会买下正中心坐标是 (0, 0) 的一块 正方形土地 ,因此周长其实就是你离中心的距离乘以8,又由于每个节点的苹果树的数量和节点坐标有固定的关系,所以一定具有一个公式,可以计算出当距离为i的时候,所有节点的苹果树数量Sum。
对于左下角在 (-i,-i),右上角在 (i,i) 的这一圈苹果树,将这一圈拆分成四角的 44 个苹果树,坐标包含 0 的 4 个苹果树,由于对称性,其余苹果树均可视作从 (i,1) 到 (i,i-1) 的苹果树,这有 8 段。
四角的 4 个苹果树共有 8i 个苹果,坐标包含 0 的 4 个苹果树共有 4i 个苹果,从 (i,1)到 (i,i-1) 的苹果树有 个苹果,乘上 8 得 12i(i-1)个苹果,因此这一圈共有 12i^2个苹果。
根据平方和公式,得到Sum = 2n(n+1)(2n+1).
在有公式的情况下,我们就可以通过遍历的方式得到答案,但是这道题也可以剪枝来解决。
很明显,可以通过在(1,n)的范围内二分查找来将时间复杂度降低