vijos
fnliren
一位无名没脑老年退役oier
展开
-
[caioj 1485及vijos 1067,利用矩阵乘法解决的经典题目七]童年的走格子
有n个格子,从入口出发(注意,入口不是第一个格子,要另外计算),需要走到最后一个格子(即出口,第n个格子)。每走一步可选择走过1~k个格子,求能走到出口的方案数。这道题的主体算法是递推,但是需要矩阵乘法优化。递推公式很简单,就是f[0]=1,f[i]=f[i-1]+f[i-2]+…+f[i-k],看到这种题,应马上想到矩阵优化,因为每次递推的公式是不变的。我们可以先求出f[1],f[2]…,原创 2017-08-24 12:53:50 · 1058 阅读 · 0 评论 -
[caioj 1487及vijos 1194,利用矩阵乘法解决的经典题目九]有趣的domino
问用1*2的多米诺骨牌填满m*n的矩阵有多少种方案,结果需要mod p。这道题看上去跟矩阵乘法八竿子都打不着边,但是我们可以转换模型。其实我们可以将这个m*n矩阵的状态通过位运算转换成二进制状态,具体就是先假设i是前一个状态,而j是这一个状态,那么i状态到j状态的条件就是i or j=k 且 i and j=s[x] (0<=x<8),s[]={0,3,6,12,15,24,27,30};为什么这原创 2017-08-26 16:55:18 · 1768 阅读 · 0 评论 -
[VijosP1792]摆花
描述 小明的花店新开张,为了吸引顾客,他想在花店的门口摆上一排花,共m盆。通过调查顾客的喜好,小明列出了顾客最喜欢的n种花,从1到n标号。为了在门口展出更多种花,规定第i种花不能超过ai盆,摆花时同一种花放在一起,且不同种类的花需按标号的从小到大的顺序依次摆列。试编程计算,一共有多少种不同的摆花方案。 输入格式 输入文件共2行。第一行包含两个正整数n和m,中间用一个空格隔开。第二行原创 2016-09-30 13:54:47 · 489 阅读 · 0 评论