摘要: 类似一个背包问题的计数问题。(虽然我也不记得这叫什么背包了一开始我想的状态定义是:f[n = 和为n][k 个素数]。递推式呼之欲出: f[n][k] = sigma f[n-pi][k-1]。但是题目还有一个要求是不同素数之和,为了保证素数不同,那就先枚举素数吧,f[i][n][k] =sigma... 阅读全文
posted @ 2015-11-14 16:45 陈瑞宇 阅读(327) 评论(0) 推荐(0) 编辑
摘要: 砖块上的数字最终都可以看作是最后一行的线性组合,独立变元最多9个。这类题的一般做法,线性组合都可以列出方程然后高斯消元。对于这道题,只要确定最后一行剩下的4个变量就好了,对于最后一行的j位置,它对上面位置某个数字的和贡献次数等于它到那个位置路径的方案数,可以发现就是杨辉三角。倒数第二行的数已经足够确... 阅读全文
posted @ 2015-11-14 16:18 陈瑞宇 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 递推,f[i = i个名次][j = 共有j个人] = 方案数。对于新加入的第j个人,如果并列之前的某个名次,那么i不变,有i个可供并列的名次选择,这部分是f[i][j-1]*i,如果增加了一个名次,那么之前有i-1个名次,i-1个名次之间有i个空,这部分是f[i-1][j-1]*i。/******... 阅读全文
posted @ 2015-11-14 16:01 陈瑞宇 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 分析:对于区间[i,j],枚举j。固定j以后,剩下的要比较M_gcd(k,j) = gcd(ak,...,aj)*(j-k+1)的大小, i≤k≤j。此时M_gcd(k,j)可以看成一个二元组(g, k)。根据gcd的性质gcd(a1,a2,...,an) = gcd(a1,gcd(a2,..,an... 阅读全文
posted @ 2015-11-14 15:50 陈瑞宇 阅读(564) 评论(0) 推荐(0) 编辑