摘要: 题意:有s个系统,n种bug,一个程序员每天可以发现一个bug,求发现存在s个系统,n种bug的天数的期望 思路:定义dp[i][j]是已经发现i种bug,j个系统的期望 dp[i+1][j+1] 表示在一个新的系统中发现新bug 它的概率为 (n-i)/n*(s-j)/s dp[i+1][j] 表 阅读全文
posted @ 2017-07-10 22:19 simpleknight 阅读(150) 评论(0) 推荐(0) 编辑
摘要: 题意:度度熊最近很喜欢玩游戏。这一天他在纸上画了一个2行N列的长方形格子。他想把1到2N这些数依次放进去,但是为了使格子看起来优美,他想找到使每行每列都递增的方案。不过画了很久,他发现方案数实在是太多了。度度熊想知道,有多少种放数字的方法能满足上面的条件? 思路: 思路基本没有,看的其他人的题解才知 阅读全文
posted @ 2017-06-28 16:16 simpleknight 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 题意:读程序,找规律 思路:我们把程序输出发现序列为1,2,5,10,21,42,85,170,递推式f(n)=2*f(n-2)+f(n-1)+1 代码: 阅读全文
posted @ 2017-06-27 22:08 simpleknight 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题意: 有一种矩阵,它的第一行是这样一些数:a 0,0 = 0, a 0,1 = 233,a 0,2 = 2333,a 0,3 = 23333... 除此之外,在这个矩阵里, 我们有 a i,j = a i-1,j +a i,j-1( i,j ≠ 0).现在给你 a 1,0,a 2,0,...,a  阅读全文
posted @ 2017-06-27 22:04 simpleknight 阅读(244) 评论(0) 推荐(0) 编辑
摘要: 题意: 给你一个N*K的矩阵A和一个K*N的矩阵B,设矩阵C=AB,M=C^(N*N),矩阵Mmod6后,所有数的和是多少 思路: 刚开始我是直接计算的,开了一个1000*1000的矩阵,结果直接爆掉了 后来看了看题解,发现想的很巧妙 观察 M=ABABAB....AB,AB每次都是1000*100 阅读全文
posted @ 2017-06-27 21:46 simpleknight 阅读(174) 评论(0) 推荐(0) 编辑
摘要: 卡特兰数: 1 通项公式:h(n)=C(n,2n)/(n+1)=(2n)!/((n!)*(n+1)!) 2递推公式:h(n)=((4*n-2)/(n+1))*h(n-1); h(n)=h(0)*h(n-1)+h(1)*h(n-2)+...+h(n-1)*h(0). 3前几项为:h(0)=1,h(1) 阅读全文
posted @ 2017-06-27 18:56 simpleknight 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 题意: a 0 = A0 a i = a i-1*AX+AY b 0 = B0 b i = b i-1*BX+BY 求AoD(N) mod 1000000007 思路: 做这道题时思路没有打开,一直纠结于如何把公式加一起..... 正确是做法是把AoD这个和加到你的构造矩阵里来递推计算 aibi=( 阅读全文
posted @ 2017-06-26 20:06 simpleknight 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 题意:已知F0=a,F1=b,Fn=Fn-1*Fn-2,给你a,b,n求Fn%1000000007的值 思路:我们试着写几组数 F0=a F1=b F2=a*b F3=a*b2 F4=a2*b3 F5=a3*b5 我们发现a,b的系数其实是斐波那契数列,我们只需用矩阵快速幂求出相应系数就行,但是 这 阅读全文
posted @ 2017-06-25 20:56 simpleknight 阅读(316) 评论(0) 推荐(0) 编辑
摘要: 题意: 已知,给你整数x,和一个素数M,求[y]%M 思路: 设 (5+2√6)n=Xn+Yn*√6 Xn+Yn*√6 =(Xn-1+Yn-1*√6)*(5+2√6) => 5*Xn-1 + 12*Yn-1 + (2*Xn-1 + 5*Yn-1 )*√6 Xn = 5*Xn-1 + 12*Yn-1; 阅读全文
posted @ 2017-06-24 22:00 simpleknight 阅读(455) 评论(0) 推荐(0) 编辑
摘要: 题意:c( n, m)%M M = P1 * P2 * ......* Pk (其中Pk是素数) 思路:Lucas定理中C(n,m)%M,M必须是素数,当M不是素数时,我们可以把它拆成素数的乘积 如果x=C(n,m)%M ,M=p1*p2*..*pk; a[i]=Lucas(n,m)%pi; xΞa 阅读全文
posted @ 2017-06-13 11:48 simpleknight 阅读(256) 评论(0) 推荐(0) 编辑
摘要: 题意:求C (n,0),C (n,1),C (n,2)...C (n,n).奇数的个数 思路:我们分析C(n,m)%2,那么由Lucas定理可知,n和m可以写成二进制的形式,假设n=1001101,那么m是0~1001101,我们知道C(0,1)=0,因此如果n=1001101的0对应位置的m二进制 阅读全文
posted @ 2017-06-12 18:42 simpleknight 阅读(241) 评论(0) 推荐(0) 编辑
摘要: 题意:给你一个杨辉三角,每一行和每一列都是从0开始,给两个数n,k,代表杨辉三角的第n行第k列,和一个素数p,让你计算从(0,0)走到(n,k)的最小花费sum%p; 思路:让花费尽量小,那就让走过的1尽量多,我们可以有两种走法 第一种:先向下走再斜着走 第二种:想斜着走再向下走 第一种分析:我们走 阅读全文
posted @ 2017-06-11 20:35 simpleknight 阅读(426) 评论(0) 推荐(1) 编辑
摘要: 题意:已知斐波那契数列fib[0]=0;fib[1]=1;fib[i]=fib[i-1]+fib[i-2];给你数a,b,n求fib(a^b)%n是多少,范围0<=a,b<2^64,1<=n<1000 思路:斐波那契数列对n取余之类的题,存在循环节,由于a^b的数太大,我们可以通过找循环节的方式来求 阅读全文
posted @ 2017-06-07 20:16 simpleknight 阅读(369) 评论(0) 推荐(0) 编辑
摘要: 题意:有一根长度为L的木棍,和n个切割点的位置(按照从小到大排序),你的任务是在这些切割点的位置把棍子切成n+1份,使得总切割费用最小。每次切割的费用等于被切的木棍长度 思路:这道题与最优矩阵连乘的思想一样,那就是分析最优子结构,再根据子结构来定义状态,首先我们假定第一次分割的最优方案是在k处分割, 阅读全文
posted @ 2017-06-06 19:46 simpleknight 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 题意:给你n种物品,每种只有一个,第i种物品的价值为Vi,重量为Wi,把这些物品放入一个重量限制为B的背包中,使得背包内的物品在重量不超过B的前提下,价值尽量大,输出最大价值 1 <= n <= 500 1 <= B, w[i] <= 1000000000 1 <= v[1]+v[2]+...+v[ 阅读全文
posted @ 2017-06-05 21:37 simpleknight 阅读(215) 评论(0) 推荐(0) 编辑