![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
组合数学
OceanLight
xxxx
展开
-
spoj 4491. Primes in GCD Table 莫比乌斯反演
http://www.spoj.com/problems/PGCD/题意: 给出 a ,b (1如果gcd(x ,y) = 1; 这个问题比较好求。g(n) 为 gcd(x ,y) = n 的方案数。f( n ) 为 gcd(x ,y) = b ,其中 n|b 的所有方案数f( a ) = sigma( g( b )) 条件 a|b;g( n ) =原创 2013-07-31 15:54:57 · 1478 阅读 · 0 评论 -
hdu 1130 How Many Trees?
此题 是 简单的 catalan 数的应用, 二叉树的表示方法 可以转换乘 卡特兰数中典型的括号合法种类数 的问题。我的想法 是 如果 按树的深搜顺序 第一次经过一个点时 画 左括号 , 此节点的左节点便利完成后又回到这个点 这是 画 右括号,这样的话, 每一个树 都能唯一的对应一个合法括号序列, 每一个 合法的括号序列页唯一的对应一棵树。 这样的话 , 这个问题 就转化乘 最简单的 ca原创 2013-07-26 15:31:32 · 1449 阅读 · 0 评论 -
uestc 1554 Counting Binary Trees (catalan 数)
此题 上一题的升级版 。。 数据规模变大, 还要mod 一个数 。递推公式 Cn+1 = Cn * (4n + 2) / ( n + 2)原创 2013-07-26 15:44:19 · 820 阅读 · 0 评论 -
hdu 1028 Ignatius and the Princess III 母函数
题意是 求数字n 可以拆成多少种不同的等式,等式中顺序不计。这种无序的组合方式用母函数解决,如果是有序的话就用组合计数可可以求得一个公式 2^(n-1).这个问题可以转化成这样一个问题: 给出1 到n ,这n种不同的数,每个数可以使用无限次,问有多少种组合方式可以凑出n。这样就转化成了一个简单的母函数问题。 G( x ) = (1 + x^1 + x^2 +x^原创 2013-07-24 10:40:04 · 735 阅读 · 0 评论 -
zoj 3688 The Review Plan II 组合数学
我的解法比较慢。 复杂度 O(nlgn) 有O( N )的解法 递推公式看不懂此题是 有 禁位 的排列 。相当于在 n*n的棋盘中 设置了 2n 个 禁位。 有 k个在 这 2*n 个禁位中 的排列数 Pk。 这 2*n 个 禁位 可以看成 一个有 t =2*n 个点 形成的环中 ,选出k个不相邻的组合数。可以通过 枚举圆上的 点 就将 圆拆分成了链。 先选取一原创 2013-07-27 15:35:11 · 1209 阅读 · 0 评论 -
hdu 4045 Machine scheduling 组合数学
题意是 有n台机器,从中选出r台机器,满足两台的编号差不小于k , 并将这r台,分成m组, 问有多少种组合方式?第二部分 就是裸的 第二类斯特林数。 重点是第一部分 : 问题 抽象出来就是 : 从 数字 1 - n 种,选出 r 个 ,相邻的两个差不小于k 。 这个题的解法有两种。 一种是 dp 一个一个递推。 第二种就是 组合公式。原创 2013-07-27 13:51:46 · 805 阅读 · 0 评论 -
zoj 3687 The Review Plan I
题意抽象出来就是 在 n*n 的 棋盘中 加了 m 个禁位, 放置 n 个棋子 ,每两个棋子不在同一行 同一列,问有多少中放置方式 ?trick : M 个禁位 中 有相同 坐标的点。解法 : 利用 有禁位的排列的公式 (容斥原理): n! - r1 *( n-1)! + r2*(n -2)! - r3*(n-3)! +..........ri 指 在禁区中 选原创 2013-07-29 00:30:07 · 993 阅读 · 0 评论 -
uva 861 Little Bishops
问 在n*n 的国际象棋棋盘中 能放 k个象的方案数?国际象棋中 白格 和 黑格 中的象不能互相攻击, 就可以 把这两部分拆开来看,分别统计由于象是斜着攻击的,我们可以把棋盘旋转45 度,然后对 格子做 水平和竖直方向的交换(不会影响方案数)。把白格子弄出来就是 * * * * * * * * *原创 2013-07-29 10:48:18 · 1155 阅读 · 1 评论