上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页
摘要: 题意: 科学家用机器人探险地下洞穴,但是机器人只有一个存储器,每到一个洞穴,就会记下洞穴的名字,当有多个洞穴可以进入时,总会选择最左边没有进入过的洞穴,当可选择的洞穴都进过时,他会后退,任意两个洞穴之间只有一条路径,当机器人回来时,科学家根据存储器发现洞穴的结构不是唯一的,他们想知道有多少种可能的结构。数学模型: 已知一棵树的深度搜索的节点(包括回退)顺序,求树的总数。分析: 因为答案很大,肯定不可能一一枚举; 设f[i][j]表示从i个点到j个点所能构成的树的总数; 通过枚举回退点来重叠计算,以回退点为根(起点,回退点,终点必须相等),,f[i+1][k-1]*f[k][j]; ... 阅读全文
posted @ 2012-06-21 09:57 蚀 阅读(348) 评论(0) 推荐(0)
摘要: 数学模型: 已知一个n*m的国际象棋的棋盘,有qn个皇后,kn个骑士,pn的士兵(士兵不能动),士兵不能动,皇后和骑士的走法不变,求棋盘有多少格子没被占用和被皇后和骑士攻击到。分析: 因为皇后的走法覆盖面较广,所以给每个格子设四个标记,表示是否被皇后的四个方向的攻击到,因为状态数少,可以按位标记,来整合成一个整数,分别为1,2,4,8。View Code #include<cstdio>#include<cstring>#define MAXN 1010using namespace std;struct Piece{ int row,col;};Piece Q[MAX 阅读全文
posted @ 2012-06-21 09:07 蚀 阅读(545) 评论(0) 推荐(0)
摘要: 数学模型: 已知n,求n中取k(k<=n)个数组成的m(m<=n)个的集合的排列数.分析: 因为是统计个数,和求组合数类似(见波利亚的解题法表),方法也差不多; f[i][j]表示的i个数组成j个集合的个数; 如果第i个数是单独成一个集合,有j个位置可以插入,f[i-1][j-1]*j; 如果第i个数是插入已有的j个集合,f[i-1][j]*j; 算完之后n个数取k个的组合数.View Code #include<cstdio>#include<cstring>using namespace std;int main(){ long long i,j,m,d 阅读全文
posted @ 2012-06-21 08:49 蚀 阅读(319) 评论(0) 推荐(0)
摘要: 题意: 统计两个整数a,b之间各个数字(0~9)出现的次数,如1024和1032,他们之间的数字有102410251026102710281029103010311032总共有10个0,10个1,3个3等等。分析: 因为前导0的干扰,为了计算方便暂时都先计算在内,之后再减; 如果是0~199,那么百位上的0和1各出现一次,s剩下的就是两个00~99,总共两百个二位数,而每个数出现的次数都一样,都是2*(99-00+1)/10; 那么任意的数都可以分解成类似的数字,如3426,则可以分成0000~2999,3000~3399,3400~3419,3420~3426几个部分各自计算,再求和... 阅读全文
posted @ 2012-06-21 08:29 蚀 阅读(691) 评论(0) 推荐(0)
摘要: 第一你必须理解题目理解题目未知量是什么?已知数据是什么?条件是什么?条件有可能满足吗?条件是否足以确定未知量?或者它不够充分?或者多余?或者矛盾?画一张图,引入适当的符号。将条件的不同部分分开。你能把它们写出来吗?第二找出已知数据与未知量的联系。如果找不到直接的联系,你也许不得不去考虑辅助题目。最终你应该得到一个解题方案。拟定方案你以前见过他吗?或者你见过同样的题目以一种稍有不同的形式出现吗?你知道一道与它有关的题目吗?你知道一条可能有用的定理吗?观察未知量!并尽量想出一道你所熟悉的具有或相似未知量的题目。这里有一道题目和你的题目有关而且以前结果。你能利用它吗?你能利用它的结果吗?你能利用它的 阅读全文
posted @ 2012-06-18 11:00 蚀 阅读(1045) 评论(0) 推荐(0)
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 17 下一页