HDU 5976 Detachment

Posted jpphy0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDU 5976 Detachment相关的知识,希望对你有一定的参考价值。

链接

问题

将正整数 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=2345=120
    • 3、5、6 共3项, s = 3 ∗ 5 ∗ 6 = 90 s = 3*5*6 = 90 s=356=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=2356=180
    • 2、3、4、7 共4项, s = 2 ∗ 3 ∗ 4 ∗ 7 = 168 s = 2*3*4*7 = 168 s=2347=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=3456=360
    • 4、5、9 共3项, s = 4 ∗ 5 ∗ 9 = 180 s = 4*5*9 = 180 s=459=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=2345=120
    • 3、5、6 共3项, s = 3 ∗ 5 ∗ 6 = 90 s = 3*5*6 = 90 s=356=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=23456=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=2k+1in<i=2k+2in=i=2k+1i+r0rk+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=2k+1i+r=2+3++k+(k+1) k,2++(k+1r) krHDU 5976 Detachment

    hdu 5976 Detachment

    HDU 5976 数学

    HDU 5976 数学,逆元

    HDU5976 LA7728 Detachment逆元+前缀和+二分

    HDU - 5976 Detachment(逆元)