Statistics

Problem Statement for "DivFree"

Problem Statement

Hero likes some arrays. The arrays he likes are the arrays that have all of the following properties:
  • The length of the array is n.
  • Each element is an integer between 1 and k, inclusive.
  • Whenever A and B are two consecutive elements of the array (in this order), we have (A <= B) or (A mod B != 0).

For example, suppose n=4 and k=7. Hero will like the array {1,7,7,2} because it has the right length, all elements are in the correct range, 1 <= 7, 7 <= 7, and 7 mod 2 != 0. Hero will not like the array {4,4,4,2}.

You are given the ints n and k. Let X be the number of different arrays Hero likes. Compute and return the value (X mod 1,000,000,007).

Definition

Class:
DivFree
Method:
dfcount
Parameters:
int, int
Returns:
int
Method signature:
int dfcount(int n, int k)
(be sure your method is public)

Constraints

  • n will be between 1 and 50,000, inclusive.
  • k will be between 1 and 50,000, inclusive.

Examples

  1. 2

    2

    Returns: 3

    The three arrays Hero likes are {1,1}, {1,2}, and {2,2}.

  2. 3

    2

    Returns: 4

    The four arrays Hero likes in this case are {1,1,1}, {1,1,2}, {1,2,2}, and {2,2,2}.

  3. 3

    3

    Returns: 15

  4. 1

    107

    Returns: 107

  5. 5

    6

    Returns: 2292

  6. 42

    23

    Returns: 301026516

  7. 37895

    31830

    Returns: 17278449

  8. 35584

    32944

    Returns: 645600769

  9. 32228

    29184

    Returns: 547595929

  10. 977

    16330

    Returns: 628237713

  11. 40610

    27203

    Returns: 488458572

  12. 7687

    14516

    Returns: 738653668

  13. 26970

    39831

    Returns: 401363280

  14. 11671

    34303

    Returns: 639094965

  15. 604

    2092

    Returns: 677386170

  16. 30119

    1

    Returns: 1

  17. 20148

    7309

    Returns: 775335732

  18. 49532

    47240

    Returns: 892487606

  19. 32994

    50000

    Returns: 999420142

  20. 10774

    26497

    Returns: 705399218

  21. 1

    40

    Returns: 40

  22. 3635

    11768

    Returns: 825126374

  23. 35614

    28345

    Returns: 651309097

  24. 17972

    14502

    Returns: 299625359

  25. 15075

    39083

    Returns: 94500395

  26. 13866

    48326

    Returns: 918224240

  27. 18135

    20402

    Returns: 454253399

  28. 5629

    43443

    Returns: 838554720

  29. 6723

    50000

    Returns: 789120918

  30. 39077

    48508

    Returns: 860559314

  31. 22131

    27290

    Returns: 500998865

  32. 21741

    7446

    Returns: 408698039

  33. 23130

    11282

    Returns: 378550893

  34. 33153

    22424

    Returns: 876679078

  35. 1

    28563

    Returns: 28563

  36. 35049

    34307

    Returns: 767914787

  37. 15807

    9901

    Returns: 425673264

  38. 1029

    37798

    Returns: 415298563

  39. 46375

    27904

    Returns: 745096971

  40. 13269

    17193

    Returns: 999789418

  41. 16941

    74

    Returns: 296027769

  42. 9855

    42013

    Returns: 794637623

  43. 11184

    50000

    Returns: 21647015

  44. 24665

    19437

    Returns: 481037441

  45. 1

    28347

    Returns: 28347

  46. 6615

    45193

    Returns: 755341472

  47. 8638

    8108

    Returns: 723720597

  48. 16181

    14952

    Returns: 945390733

  49. 9846

    5119

    Returns: 258495167

  50. 1

    38621

    Returns: 38621

  51. 17163

    28190

    Returns: 468695835

  52. 17985

    6582

    Returns: 154509155

  53. 13511

    1048

    Returns: 621554832

  54. 12246

    34062

    Returns: 274258923

  55. 18185

    37223

    Returns: 429388972

  56. 45918

    47111

    Returns: 974125928

  57. 24772

    32215

    Returns: 50826269

  58. 47078

    21327

    Returns: 195995612

  59. 47943

    44943

    Returns: 306355554

  60. 31491

    41243

    Returns: 618063334

  61. 23072

    2993

    Returns: 969459559

  62. 17774

    41169

    Returns: 794379927

  63. 24817

    14354

    Returns: 632240272

  64. 27994

    39059

    Returns: 93477117

  65. 36461

    2037

    Returns: 430789025

  66. 10857

    15255

    Returns: 192753573

  67. 2677

    41876

    Returns: 478252473

  68. 6537

    16756

    Returns: 496347323

  69. 25095

    50000

    Returns: 497260706

  70. 21966

    11122

    Returns: 462300084

  71. 42745

    49266

    Returns: 645145374

  72. 22909

    29682

    Returns: 362388003

  73. 637

    1

    Returns: 1

  74. 20600

    19534

    Returns: 689479946

  75. 5700

    87

    Returns: 194345810

  76. 4123

    36544

    Returns: 312171439

  77. 4847

    44706

    Returns: 379100986

  78. 20793

    27152

    Returns: 23165410

  79. 27469

    29682

    Returns: 695813134

  80. 3422

    6678

    Returns: 726098430

  81. 28251

    1707

    Returns: 139222037

  82. 32937

    27851

    Returns: 285368735

  83. 9536

    40436

    Returns: 703334811

  84. 10821

    13911

    Returns: 118380129

  85. 23617

    40894

    Returns: 690961933

  86. 37430

    47138

    Returns: 176629878

  87. 45014

    5354

    Returns: 833672096

  88. 37511

    21757

    Returns: 473048480

  89. 46755

    46069

    Returns: 143778911

  90. 13581

    14794

    Returns: 991816377

  91. 14530

    17507

    Returns: 161905035

  92. 23459

    32858

    Returns: 576257986

  93. 42319

    46149

    Returns: 230835966

  94. 27008

    3095

    Returns: 231293002

  95. 6344

    38215

    Returns: 416150548

  96. 44789

    42855

    Returns: 351835457

  97. 35383

    6082

    Returns: 538049375

  98. 21169

    36520

    Returns: 809931223

  99. 30527

    2021

    Returns: 851648046

  100. 27720

    25094

    Returns: 671286195

  101. 7598

    10812

    Returns: 275574591

  102. 19652

    29112

    Returns: 841267214

  103. 6542

    25824

    Returns: 349412714

  104. 8941

    35893

    Returns: 216253016

  105. 30790

    7854

    Returns: 384693557

  106. 39339

    37567

    Returns: 206587913

  107. 814

    15473

    Returns: 51153422

  108. 23348

    7305

    Returns: 402359951

  109. 33987

    43696

    Returns: 31225490

  110. 49998

    50000

    Returns: 309622312

  111. 32245

    4768

    Returns: 838788454

  112. 37730

    4148

    Returns: 776734597

  113. 18098

    47559

    Returns: 469826520

  114. 484

    16797

    Returns: 811214075

  115. 15029

    13226

    Returns: 64539586

  116. 43314

    25931

    Returns: 282282944

  117. 34421

    14105

    Returns: 994443812

  118. 43617

    14248

    Returns: 391070866

  119. 21426

    7381

    Returns: 609246403

  120. 40319

    28292

    Returns: 249988423

  121. 7838

    26716

    Returns: 167118585

  122. 28181

    22755

    Returns: 230276300

  123. 33957

    46632

    Returns: 653296417

  124. 16470

    49998

    Returns: 744224705

  125. 1726

    9351

    Returns: 565291975

  126. 24813

    111

    Returns: 559794323

  127. 50000

    50000

    Returns: 541697486

  128. 49987

    49729

    Returns: 811020076


This problem statement is the exclusive and proprietary property of TopCoder, Inc. Any unauthorized use or reproduction of this information without the prior written consent of TopCoder, Inc. is strictly prohibited. (c)2024, TopCoder, Inc. All rights reserved.
This problem was used for: