摘要: 一个排队问题,f代表女,m代表男,f和m出现的几率相等。问一个长为L的队伍不能出现 fmf 和 fff这样的串总共有多少种。这个题目的公式递推略难啊。。。我看了别人博客才想明白原来是这么递推出来的。首先把前几项写出来。L=0 ,ans=0;L=1,ans=2;L=2,ans=4;L=3,ans=6;L=4,ans=9;规律有点难找,直接递推出来,假设 长度为n的串,n>4,ans[n] 无非就是在 ans[n-1]的基础上加一个 f或者m,如果在ans[n-1]的基础上在队列最后加一个m,则绝对合法,因为不论前面n-1个是怎么排列,最后加一个m,绝对不会构成fmf或者fff,所以 ans 阅读全文
posted @ 2013-11-27 15:10 KRisen 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 这道题目是刘汝佳白书上的例题,没有LRJ在白书上提到的划归为搜索问题,还真是一时难以想到好的解法。即三个瓶子,任意的一个状态都是一个节点,最后就划归为一个搜索问题。由于题目数据量不大,三个杯子容量都不超过200,所以用个vis三维数组保存下访问过得状态以达到剪枝的目的,不过我在想数据量稍微大一点,这个数组就开不下了,同时搜索时间将大大增加。。。所以面对大数据的时候有没有更好的方法,我暂时还没想到。代码写得超级挫,每个状态的转化都是手动敲的,好像可以用一个函数统一解决,当时写的时候就比较急,就直接手敲了。#include #include #include #include #include # 阅读全文
posted @ 2013-11-27 14:54 KRisen 阅读(469) 评论(0) 推荐(0) 编辑