知识点:
组合数学-容斥原理,快速幂,逆元。
题目大意:
共有m 种颜色,为n盆排成一直线的花涂色。要求相邻花的颜色不相同,且使用的颜色恰好是k种。问一共有几种涂色方案(结果除10e9+7取余数)。
解题思路:
首先可以将m 与后面的讨论分离。从m 种颜色中取出k 种颜色涂色,取色部分有C(m, k) 种情况;
然后通过尝试可以发现,第一个有k种选择,第二个因不能与第一个相同,只有(k-1) 种选择,第三个也只需与第二个不同,也有(k-1) 种选择。总的情况数为k ×(k-1)^(n-1)。但这仅保证了相...
分类:
其他好文 时间:
2015-01-24 15:59:04
阅读次数:
227
1.1问题描述 1.2问题分析本题主要考查图论中生成树及组合数学的求法。通过观察我们可以发现当输入为n时,我们一共有(5*n-n)=4n个点。通过思考我们可以知道,要想求得生成树,我们必须使所有五角形的圈全部破掉。那么我们可以思考:如果对于一个五角形而言,它的每一条边都不删除,那么我们可以发现这.....
分类:
其他好文 时间:
2015-01-23 16:05:02
阅读次数:
179
1.1问题描述 1.2问题分析本题主要考查图论中生成树及组合数学的求法。通过观察我们可以发现当输入为n时,我们一共有(5*n-n)=4n个点。通过思考我们可以知道,要想求得生成树,我们必须使所有五角形的圈全部破掉。那么我们可以思考:如果对于一个五角形而言,它的每一条边都不删除,那么我们可以发现这.....
分类:
其他好文 时间:
2015-01-23 16:00:41
阅读次数:
223
题目大意:求C(n,m)%p。
思路:Lucas定理:C(n,m)%p = C(n/p,m/p)*C(n%p,m%p)%p
处理出来1~10007所有的阶乘和阶乘的逆元,nm都小于10007的时候就可以直接算了,剩下的情况递归处理。
CODE:
#define _CRT_SECURE_NO_WARNINGS
#include
#include
#include
...
分类:
其他好文 时间:
2015-01-23 09:37:25
阅读次数:
166
题目地址:POJ 1942
这题就是求组合数c(n,n+m),高中的时候做过这种组合题,现在居然推不出来了。。sad。。。时光催人老。。。。
代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
#define...
分类:
其他好文 时间:
2015-01-22 20:17:26
阅读次数:
124
题目地址:http://codeforces.com/contest/500/problem/D
这题是要先求出每条边出现的次数,然后除以总次数,这样期望就求出来了。先用树形DP求出每个边左右两端总共有多少个点,然后用组合数学公式就可以推出来了。
代码如下:
#include
#include
#include
#include
#include
#include
#includ...
分类:
Web程序 时间:
2015-01-22 11:06:33
阅读次数:
283
题目大意:给定n个男生m个女生两个老师,求有多少种排列满足任意两个女生不相邻,任意两个老师也不相邻
def A(n):
re=1
for i in range(1,n+1):
re*=i
return re
def C(n,m):
if n<m:
return 0
return A(n)//A(m)//A(n-m)
n,m=[int(i) for i in raw_in...
分类:
其他好文 时间:
2015-01-21 10:14:46
阅读次数:
160
题目大意:给两个数字a,b求出[a,b]中转化成二进制后0的个数大于等于1的个数的数例如1100转化成10-11,100-111,1000-1011,1100。保证每个区段都有1打头,然后有一段数字任选用组合数求;代码如下#include#include#includeusing namespace...
分类:
其他好文 时间:
2015-01-19 20:46:21
阅读次数:
117
题目大意:
给一个n*n(n
解题思路:
我们将这个棋盘染色,然后会发现不同颜色上的象是不会影响的,然后这时就转换成每一种颜色中方k‘个象可以有多少种方法。
这时就变成了之前做过的一道题,就是问棋盘上可以放多少个车,但是不同的是那是个长宽相等的,但是对于这个我们将他转45°会发现是上下对称的,但是每一行都有差距1.
这时不能直接用组合数学计算了,应该DP,我们将同种...
分类:
其他好文 时间:
2015-01-18 13:11:54
阅读次数:
211
题目大意:简单易懂自己看- -
去学了下母函数相关的东西- - 其实不难理解嘛- - 的说- -
#include
#include
#include
#include
#define M 510
#define MOD 10007
using namespace std;
int n;
char s[M];
int main()
{
int i;
scanf("%s",s...
分类:
其他好文 时间:
2015-01-17 16:37:08
阅读次数:
249