题解:首先,这道题可以用位运算来表示每一行的状态,同八皇后的搜索方法,然后对于限制条件不相互攻击,则只需将新加入的一行左右移动与上一行相&,若是0则互不攻击,方案可行。对于每种方案,则用递推来统计,将前一排所有可以的情况全部加上即可。bit数组记录每个数字二进制位中1的个数,方便计算。if(chec...
分类:
其他好文 时间:
2014-07-21 09:35:58
阅读次数:
184
圆圈中最后剩下的数字(递推公式) 代码(C++)本文地址:http://blog.csdn.net/caroline_wendy题目: 0,1...,n-1这n个数字排成一个圆圈, 从数字0開始每次从这个圆圈里删除第m个数字.求出这个圆圈里最后剩下的数字.能够推导出约瑟夫环的递推公式, 使用循环进行...
分类:
编程语言 时间:
2014-07-21 09:33:10
阅读次数:
241
Description婷婷是个喜欢矩阵的小朋友,有一天她想用电脑生成一个巨大的n行m列的矩阵(你不用担心她如何存储)。她生成的这个矩阵满足一个神奇的性质:若用F[i][j]来表示矩阵中第i行第j列的元素,则F[i][j]满足下面的递推式:F[1][1]=1F[i,j]=a*F[i][j-1]+b (...
分类:
其他好文 时间:
2014-07-21 00:22:04
阅读次数:
203
很简单的一个递推法的题目,我直接用矩阵快速幂去过了。
构造方法也很简单。
f1 + f3 = f2
f3 = f2 - f1
f3 = 1 * f2 + -1 * f1
f2 = 1 * f2 + 0 * f1
所以矩阵就是
1, -1
1, 0
然后就是取模运算和负数处理了。负数取模会返回负数。因为我是快速幂的写法,最后返回的数一定是在(-Mod, Mod)之间的,所以直接加上一个Mod,然后再取一次模就好了。...
分类:
其他好文 时间:
2014-07-20 10:28:28
阅读次数:
314
总Time Limit:
10000ms
Memory Limit:
65536kB
有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在...
分类:
其他好文 时间:
2014-07-19 23:14:09
阅读次数:
222
“人人为我”的解法:dp[i][j]表示坐标为(i,j)的点开始下滑的最大长度。则dp[i][j]为(i,j)周围四个点中比(i,j)低,且最大长度最大再加一的值用结构体来储存一个点的坐标和高度,这样按高度从小到大排完序以后还不会丢失坐标的值从小到大遍历所有的点,经过一个点(i,j)时,用递推公式求...
分类:
其他好文 时间:
2014-07-19 00:39:58
阅读次数:
213
/*本题的思路比较简单,就是将递推公式写出来,然后表达成为一个矩阵的形式最后通过计算就可以得到一个符合题目要求的矩阵,然后就是将矩阵上面所有的对角线元素相加得到的结果即为所求的目标*/#include #include using namespace std; const int maxn = 15...
分类:
其他好文 时间:
2014-07-18 18:24:07
阅读次数:
295
UVA 11077 - Find the Permutations
题目链接
题意:给定n,k求出有多少个包含元素[1-n]的序列,交换k次能得到一个[1,2,3...n]的序列
思路:递推dp[i][j]表示i个元素需要j次,那么在新加一个元素的时候,添在最后面次数不变,其余位置都是次数+1,这是可以证明的,原序列中有几个循环,需要的次数就是所有循环长度-1的和,那么对于新加一...
分类:
其他好文 时间:
2014-07-18 15:10:12
阅读次数:
230
UVA 1541 - To Bet or Not To Bet
题目链接
题意:这题题意真是神了- -,看半天,大概是玩一个游戏,开始在位置0,终点在位置m + 1,每次扔一个硬币,正面走一步,反面走两步,走到的步上有4种情况:
1、向前走n步
2、向后走n步
3、停止一回合
4、无影响
问能在t次机会内,走到终点m + 1(如果跃过也算走到了)的概率,大于0.5,等于0...
分类:
其他好文 时间:
2014-07-18 14:10:34
阅读次数:
207
背包问题(三种动态规划) 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目参考: http://blog.csdn.net/caroline_wendy/article/details/37912949可以用动态规划(Dynamic Programming, DP)求解, 可以通过记忆化搜索推导出递推式, 可以使用三种不同的方向进行求解.动态规划主要...
分类:
其他好文 时间:
2014-07-18 13:37:31
阅读次数:
329