HDU 5976 Detachment
Posted jpphy0
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 5976 Detachment相关的知识,希望对你有一定的参考价值。
链接
- HDU 5976 Detachment - https://acm.hdu.edu.cn/showproblem.php?pid=5976
- HDU 5976 Detachment - https://acm.dingbacode.com//showproblem.php?pid=5976
问题
将正整数 n n n 分拆成若干不等的正整数 a i a_i ai,使得 s = ∏ i = 1 r a i s=\\prod_{i=1}^ra_i s=∏i=1rai最大,求最大值对的 1 0 9 + 7 10^9+7 109+7模
分拆方案
分拆方案举例
- 例1:
n
=
14
n=14
n=14,分拆方案:
- 2、3、4、5 共4项, s = 2 ∗ 3 ∗ 4 ∗ 5 = 120 s = 2*3*4*5 = 120 s=2∗3∗4∗5=120
- 3、5、6 共3项, s = 3 ∗ 5 ∗ 6 = 90 s = 3*5*6 = 90 s=3∗5∗6=90
- ⋯ ⋯ \\cdots\\cdots ⋯⋯
- 例2:
n
=
16
n=16
n=16,分拆方案:
- 2、3、5、6 共4项, s = 2 ∗ 3 ∗ 5 ∗ 6 = 180 s = 2*3*5*6 = 180 s=2∗3∗5∗6=180
- 2、3、4、7 共4项, s = 2 ∗ 3 ∗ 4 ∗ 7 = 168 s = 2*3*4*7 = 168 s=2∗3∗4∗7=168
- ⋯ ⋯ \\cdots\\cdots ⋯⋯
- 例3:
n
=
18
n=18
n=18,分拆方案:
- 3、4、5、6 共4项, s = 3 ∗ 4 ∗ 5 ∗ 6 = 360 s = 3*4*5*6 = 360 s=3∗4∗5∗6=360
- 4、5、9 共3项, s = 4 ∗ 5 ∗ 9 = 180 s = 4*5*9 = 180 s=4∗5∗9=180
- ⋯ ⋯ \\cdots\\cdots ⋯⋯
- 例4:
n
=
19
n=19
n=19,分拆方案:
- 3、4、5、7 共4项, s = 2 ∗ 3 ∗ 4 ∗ 5 = 120 s = 2*3*4*5 = 120 s=2∗3∗4∗5=120
- 3、5、6 共3项, s = 3 ∗ 5 ∗ 6 = 90 s = 3*5*6 = 90 s=3∗5∗6=90
- 例5:
n
=
20
n=20
n=20,分拆方案:
- 2、3、4、5、6 共5项, s = 2 ∗ 3 ∗ 4 ∗ 5 ∗ 6 = 720 s = 2*3*4*5*6 = 720 s=2∗3∗4∗5∗6=720
- ⋯ ⋯ \\cdots\\cdots ⋯⋯
分拆方案总结
- 分拆方案不含1(贪心思想:1对积无贡献)
- 对于给定的n,可以得到不含1的最大的分拆数k及其(唯一)方案(贪心思想:每一项尽量小)
∑ i = 2 k + 1 i ≤ n < ∑ i = 2 k + 2 i 或 n = ∑ i = 2 k + 1 i + r , 0 ≤ r ≤ k + 1 , 即 : \\sum_{i=2}^{k+1}i\\leq n < \\sum_{i=2}^{k+2}i \\quad 或 \\quad n=\\sum_{i=2}^{k+1}i+r,0\\leq r \\leq k+1,即: i=2∑k+1i≤n<i=2∑k+2i或n=i=2∑k+1i+r,0≤r≤k+1,即:
n = ∑ i = 2 k + 1 i + r = { 2 + 3 + ⋯ + k + ( k + 1 ) ⏞ k 项 , 当 r = 0 2 + ⋯ + ( k + 1 − r ) ⏞ k − r 项 + ( k + 3 − r ) + ⋯ + ( k + 2 ) ⏞ r 项 , 当 1 ≤ r < k 3 + 4 + ⋯ + ( k + 1 ) + ( k + 2 ) ⏞ k 项 , 当 r = k 3 + 4 + ⋯ + ( k + 1 ) ⏞ k − 1 项 + ( k + 3 ) , 当 r = k + 1 n =\\sum_{i=2}^{k+1}i+r= \\begin{cases} \\overbrace{2+3+\\cdots+k+(k+1)}^{k\\,项}, & \\text{当 $r=0$} \\\\ \\overbrace{2+\\cdots+(k+1-r)}^{k-r\\,项}+\\overbrace{(k+3-r)+\\cdots+(k+2)}^{r\\,项}, & \\text{当 $1\\leq r<k$} \\\\ \\overbrace{3+4+\\cdots+(k+1)+(k+2)}^{k\\,项}, & \\text{当 $r=k$} \\\\ \\overbrace{3+4+\\cdots+(k+1)}^{k-1\\,项}+(k+3), & \\text{当 $r=k+1$} \\\\ \\end{cases} n=i=2∑k+1i+r=⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧2+3+⋯+k+(k+1) k项,2+⋯+(k+1−r) k−rHDU 5976 Detachment