枚举

组合数学:离散对象 -> 安排

枚举法

条件:

  1. 离散
  2. 有范围

分类讨论

例1:

方程:

\[x^2 + y^2 + z^2 = 2019, \quad x, y, z \text{ 属于素数}. \]

假设

\[x \leq y \leq z \]

  • \(x = 2\),...
  • \(x = 3\),...

...

最后答案要乘 3 的阶乘

例2:

七位数 1, 2, 3, 4, 5, 6, 7

条件:
偶数位的数字等于相邻两数之差。

  • \(1 = 3 - 2 = 4 - 3 = 5 - 4 = 6 - 5 = 7 - 6\)
  • \(2 = 3 - 1 = 5 - 3 = 6 - 4 = 7 - 5\)
  • \(3 = 4 - 1 = 5 - 2 = 7 - 4\)
  • \(4 = 5 - 1 = 6 - 2 = 7 - 3\)
  • \(5 = 6 - 1 = 7 - 2\)
  • \(6 = 7 - 1\)

相邻两个偶数位:

  • \(a, x, b, y, c\)

\(a > b > c\):

  • \(x = a - b, y = b - c\)
  • \(x + y = a - c\)

\(a > b, b < c\):

  • \(x = a - b, y = c - b\)
  • \(x + y = a + c - 2b\)

\(a < b, b > c\):

  • \(x = b - a, y = b - c\)
  • \(x + y = 2b - a - c\)

\(a < b < c\):

  • \(x = b - a, y = c - b\)
  • \(x + y = c - a\)

......

好吧,写不下去了,以上是错误案例

1 2 3 4 5 6 7

  • \(a, b, c, d, e, f, g\)

总和:

\[1 + 2 + 3 + ... + 7 = 28 \]

Trick :分析奇偶

  • \(f = |e - g| \Rightarrow 2 |e + f + g |\)
  • \(d = |c - e| \Rightarrow 2 |d|, \, d = 2, 4, 6\)
  • \(b = |a - c| \Rightarrow 2 |a + b + c|\)

减少枚举:

枚举规则必须一致:

<1> d = 2:

  • {1,5,6},
  • {3,4,7},
  • 7432516,7432156,7342651,7342615

<2> d = 4

  • {2, 3 ,5},
  • {1, 6, 7},
  • ... ...

例3

\[h = 4a + 10b + 19c \]

\[a + b + c = 94 \]

h有多少种

  • \(a = 94 - b - c\),
  • \(h = 4(94 - b - c) + 10b + 19c\)
  • \(h = 376 + 6b + 15c\)

trick : 5 * 10 = 3 * 4 + 2 * 19

  • 所以\(b\) \(<=\) \(4\)

but, why

  • 这里可能一下子转不过来
  • \(b\)只有5种取值,
  • 如果\(b = 5\),那就等价于\(a = 3, c = 2\) -> \(b = 0\) ,会造成重复
posted @ 2025-01-18 10:40  赵梓烨  阅读(34)  评论(1)    收藏  举报