- 本人的LeetCode账号:魔术师的徒弟,欢迎关注获取每日一题题解,快来一起刷题呀~
- 本人Gitee账号:路由器,欢迎关注获取博客内容源码。
一、容斥原理
1 容斥原理介绍
高中中,我们学过一个经典的容斥原理的图:
这便是最简单的容斥原理。
这个公式可以推广到一般的n个圆的交集。
S = S ( 1 ) + S ( 2 ) + . . . + S ( n ) − ∑ i , j , i ! = j s ( i ) s ( j ) + ∑ i , j , k s ( i ) s ( j ) s ( k ) . . . + ( − 1 ) n − 1 s ( 1 ) s ( 2 ) ∗ . . . ∗ s ( n ) S = S(1)+S(2) +...+S(n)\\ -\sum_{i,j, i!=j}s(i)s(j)\\ +\sum_{i,j,k}s(i)s(j)s(k)\\ ... +(-1)^{n - 1}s(1)s(2)*...*s(n) S=S(1)+S(2)+...+S(n)−i,j,i!=j∑s(i)s(j)+i,j,k∑s(i)s(j)s(k)...+(−1)n−1s(1)s(2)∗...∗s(n)
它总共有:
C n 1 + C n 2 + . . . + C n n + C n 0 − C n 0 = 2 n − 1 等 价 于 从 n 个 数 中 选 任 意 多 个 数 的 组 合 个 数 每 个 数 选 与 不 选 C_n^1+C_n^2+...+C_n^n+C_n^0-C_n^0 = 2^n - 1\\ 等价于从n个数中选任意多个数的组合个数 每个数选与不选 Cn1+Cn2+...+Cnn+

本文深入探讨了如何利用容斥原理解决LeetCode中的能被整除的数问题,以及介绍了简单博弈论中的Nim游戏及其扩展,包括有向无环图游戏的SG函数。通过实例分析和代码展示,阐述了如何运用这些算法策略来解决实际问题。
最低0.47元/天 解锁文章
4447

被折叠的 条评论
为什么被折叠?



