组合数学
404-unkown
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #324 (Div. 2) B. Kolya and Tanya(组合数学)
题目大意:3*n个人围成一个圈,每人手上可以拿1到3个硬币。相邻为n的三个人的硬币和不能为6,问共有多少种方案分析:考虑反面,一共有7种方案为6,又每个三元组互相独立,所以共有7^n种方案。总方案数为3^(3*n)。因此,最后的答案就是27^n-7^n代码:#include #include #include #include #include #includ原创 2015-10-07 17:23:55 · 285 阅读 · 0 评论 -
HDU5496--Beauty of Sequence(水题)
题目大意:给出一个数列,我们删去连续重复的元素,只保留一个,然后对数列求和。对于它的所有子序列也是这样。求所有这样的序列之和。分析:我们可以考虑每个元素对最终答案的贡献是多少。对于元素a[i]而言,在i之后的元素都有选与不选两种方案,所以,共有2^(n-i)种方案,那么a[i]也就贡献了a[i]也就贡献了2^(n-i)次。在i之前的元素也是,因此,a[i]一共贡献了a[i]*2^(i-原创 2015-10-08 21:21:43 · 353 阅读 · 0 评论 -
HDU5495--LCS(置换群)
题目大意:给出两个长度为n的序列,按一定的顺序重排序列,求最长公共子序列分析:这题利用到了置换群的概念。具体的可以看下白书相关章节。比较简单的想法就是,按a[i]->b[i]建有向边,每构成一个长度为L的环,我们就可以得到一个长度为L-1的LCS。因此,我们只要求出最长的环就可以了。代码:#include #include #include #include u原创 2015-10-08 21:02:29 · 359 阅读 · 0 评论