Statistics

Problem Statement for "UpDownNess"

Problem Statement

Given a permutation P, a lo-hi-lo triple is any triple (i,j,k) of valid indices into P such that i < j < k and P[i] < P[j] > P[k]. Note that there is no requirement on the comparison between P[i] and P[k].

You are given the ints N and K. Among all N! permutations of the numbers 1 through N, consider those that contain exactly K lo-hi-lo triples. Let X be the number of such permutations. Compute and return the value (X modulo 1,000,000,007).

Definition

Class:
UpDownNess
Method:
count
Parameters:
int, int
Returns:
int
Method signature:
int count(int N, int K)
(be sure your method is public)

Constraints

  • N is between 1 and 50, inclusive.
  • K is between 0 and 5000, inclusive.

Examples

  1. 3

    1

    Returns: 2

    {1,3,2} and {2,3,1} meet the condition.

  2. 3

    0

    Returns: 4

    {1,2,3},{2,1,3},{3,1,2} and {3,2,1} meet the conditon.

  3. 4

    3

    Returns: 4

    Here, the four good permutations are {1,3,4,2}, {1,4,3,2}, {2,3,4,1}, and {2,4,3,1}. For the permutation P={1,3,4,2} the three lo-hi-lo triples of indices are the following ones: (0,1,3), because we have 1 < 3 > 2. (0,2,3), because we have 1 < 4 > 2. (1,2,3), because we have 3 < 4 > 2. (Note that all the indices used above are 0-based: P[0]=1, P[1]=3, P[2]=4, and P[3]=2.)

  4. 19

    19

    Returns: 24969216

  5. 50

    2000

    Returns: 116596757

  6. 13

    4831

    Returns: 0

  7. 38

    1100

    Returns: 577779367

  8. 4

    2863

    Returns: 0

  9. 41

    2542

    Returns: 214583147

  10. 25

    2069

    Returns: 0

  11. 38

    3608

    Returns: 211620140

  12. 10

    4212

    Returns: 0

  13. 27

    2385

    Returns: 0

  14. 43

    1010

    Returns: 549686354

  15. 43

    3125

    Returns: 822857731

  16. 9

    1810

    Returns: 0

  17. 47

    3712

    Returns: 880842464

  18. 18

    561

    Returns: 0

  19. 4

    2151

    Returns: 0

  20. 16

    1388

    Returns: 0

  21. 15

    1711

    Returns: 0

  22. 25

    4601

    Returns: 0

  23. 11

    3479

    Returns: 0

  24. 11

    2987

    Returns: 0

  25. 40

    380

    Returns: 694672814

  26. 13

    2901

    Returns: 0

  27. 48

    3031

    Returns: 795625621

  28. 41

    244

    Returns: 145104109

  29. 29

    4990

    Returns: 0

  30. 13

    3359

    Returns: 0

  31. 10

    983

    Returns: 0

  32. 38

    1393

    Returns: 169670558

  33. 33

    3254

    Returns: 0

  34. 49

    1649

    Returns: 819733389

  35. 26

    870

    Returns: 23740215

  36. 30

    1545

    Returns: 964628922

  37. 18

    2189

    Returns: 0

  38. 37

    3531

    Returns: 227096736

  39. 43

    4639

    Returns: 626525840

  40. 7

    275

    Returns: 0

  41. 9

    2087

    Returns: 0

  42. 30

    753

    Returns: 1897098

  43. 10

    3000

    Returns: 0

  44. 20

    1917

    Returns: 0

  45. 18

    2772

    Returns: 0

  46. 49

    448

    Returns: 770785544

  47. 3

    3219

    Returns: 0

  48. 48

    832

    Returns: 552996047

  49. 45

    4964

    Returns: 975031313

  50. 14

    484

    Returns: 0

  51. 49

    3640

    Returns: 100698857

  52. 48

    3658

    Returns: 474994210

  53. 36

    2782

    Returns: 877257939

  54. 44

    3556

    Returns: 224923586

  55. 41

    2952

    Returns: 502919082

  56. 29

    2547

    Returns: 0

  57. 5

    4567

    Returns: 0

  58. 4

    3677

    Returns: 0

  59. 11

    4266

    Returns: 0

  60. 24

    3988

    Returns: 0

  61. 25

    3707

    Returns: 0

  62. 19

    3257

    Returns: 0

  63. 35

    4010

    Returns: 0

  64. 34

    2225

    Returns: 145392456

  65. 41

    874

    Returns: 370620721

  66. 50

    4363

    Returns: 116796144

  67. 50

    3775

    Returns: 449507589

  68. 50

    2063

    Returns: 334642230

  69. 50

    1930

    Returns: 602668627

  70. 50

    4907

    Returns: 466964758

  71. 50

    2247

    Returns: 487060266

  72. 50

    2524

    Returns: 750120766

  73. 50

    2189

    Returns: 741206087

  74. 50

    3166

    Returns: 124127329

  75. 50

    607

    Returns: 799665847

  76. 50

    4930

    Returns: 75652705

  77. 50

    4987

    Returns: 204070809

  78. 50

    4915

    Returns: 980030145

  79. 2

    0

    Returns: 2

  80. 1

    0

    Returns: 1

  81. 50

    5000

    Returns: 118074500

  82. 50

    10

    Returns: 393767951

  83. 50

    1342

    Returns: 165141112

  84. 30

    20

    Returns: 565359673


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: