题目链接:Vjudge 传送门 相当于把nnn个点分隔为若干块,求所有方案中大小为kkk的块数量 我们把大小为kkk的块,即使在同一种分隔方案中的块 单独考虑,它可能出现的位置是在nnn个点的首.尾.中 出现在首尾时,有222种情况,此时剩下的点有(n−k−1)(n-k-1)(n−k−1)个间隔,每个间隔可分可不分,所以方案数为2⋅2(n−k−1)2\cdot 2^{(n-k-1)}2⋅2(n−k−1) 出现在中间时,有(n−k−1)(n-k-1)(n−k−1)种情况,此时剩下的点有(n−k−2…
pid=5288">http://acm.hdu.edu.cn/showproblem.php?pid=5288 Problem Description OO has got a array A of size n ,defined a function f(l,r) represent the number of i (l<=i<=r) , that there's no j(l<=j<=r,j<>i) satisfy ai mod aj=0,now…
把8个同样的球放在同样的5个袋子里,允许有的袋子空着不放,问共有多少种不同的分法? 提示:如果8个球都放在一个袋子里,无论是放哪个袋子,都只算同一种分法. 解析: 把问题合成,先思索5个袋子都不空的状况,再思索4个袋子不空的状况,以此类推,最后思索只运用一个袋子的状况(这种分法只要1种),把一切子状况的分法数相加求出总分法. 进一步剖析,运用k个袋子装n个球(袋子不空),一共有几种分法的问题能够转化为k个数相加等于n的种数问题. 运用5个袋子装8个球则有3种: 1+1+1+1+4 = 8 1+1…
http://acm.hdu.edu.cn/showproblem.php?pid=4602 输入 n 和 k 首先 f(n)中k的个数 等于 f(n-1) 中 k-1的个数 最终等于 f(n-k+1) 中 1 的个数 舍 s(n) = f(n) + f(n-1) + ....+ f(1) 则 f(n) = s(n) - s(n-1) 由于 s(n) = s(n-1) + 2^(n-2) + s(n-1) = 2*(s(n-1)) + 2^(n-2) = 2^(n-1) + (n-1)*2^(n…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4602 我们可以特判出n<= k的情况. 对于1<= k<n,我们可以等效为n个点排成一列,并取出其中的连续k个点.下面分两种情况考虑: 第一种情况,被选出的不包含端点,那么有(n–k−1)种情况完成上述操作,剩下未被圈的点之间还有(n–k−2)个位置,可以在每个位置断开,所以共2^(n−k−2) ∗(n−k−1)种方法. 第二种情况,即被选出的包含端点,那么有2种情况,并且剩余共(n–k−1…
Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2472    Accepted Submission(s): 978 Problem Description Define f(n) as the number of ways to perform n in format of the sum of some pos…
Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 797    Accepted Submission(s): 322 Problem Description Define f(n) as the number of ways to perform n in format of the sum of some posit…
Partition Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description Define f(n) as the number of ways to perform n in format of the sum of some positive integers. For instance, when n=4, we have  4=1+1+1+…
题意 给你一个数n,把它写成几个正整数相加的形式,即把n拆开成若干段,把所有可能的式子里正整数 k 出现的次数取模是多少. 分析 特判 k>=n 的情况. k<n时:问题相当于n个点排一行,选其中连续的k个点,其他点的间隔情况有多少种. n个点原来有n-1个两两之间的间隔,当n-k>1时,如果k个点不包含端点,那么剩下的间隔就是:n-1 -(k+1)=n-k-2.此时每个间隔,就有隔或者不隔2种情况,选这k个点的方法又有n-k-1种,所以共有2的n-k-2次方 * (n-k-1)种间隔方…
推公式+快速幂 公式有很多形式,可以写矩阵 1.前n-1项和的两倍+2的(n-2)次方,这个写不出啥 2.递推式:f(n)=2*f(n-1)+2的(n-3)次方 3.公式:2的(n-k-2)次方*(n-k+1)+2的(n-k-1) 代码什么的看他的吧http://blog.csdn.net/liuledidai/article/details/9449301 第一次写矩阵就不献丑了 #include<stdio.h> ; #define LL __int64 LL p[][]; LL q[][…