- 博客(6)
- 资源 (4)
- 收藏
- 关注
原创 poj1067(取石子fibonacci数)
真是一个很神的题,fibonacci数和黄金分割只能看它,看不懂它。这里有写得很祥细的报告。http://blog.csdn.net/min_jie/archive/2009/03/08/3967873.aspx#include#includeusing namespace std;int main(){ const double e1=(sqrt(5)-1)/2,e2=0.5+sqrt(5)/2; int a,b; while(cin>>a>>b)
2011-03-30 22:16:00 557
原创 hdoj1568(fibonacci数)
<br /> 很久没见到这么神的处理方法了,纪念一下!<br />n比较小时n<=30,用f(n)=f(n-1)+f(n-2),n>=2求解<br />n比较大时使用进似计算的通式f(n)=x^n ,x=(1+sqrt(5))/2 , (n<10^10)<br />巧妙之处在于计算x^n <br /><br />#include<iostream>#include<cmath>using namespace std;int main(){ int f[31]= {
2011-03-29 21:30:00 607
原创 lucky tickets
brute force:#includeusing namespace std;int ans,curCnt;int curNumber;int cnt;void work(int k,int cur){//k=cur&&curNumbercurNumber)return; work(k+1,cur+i); } }}int main(){ int n; cin>>n; if(n&1){ cout
2011-03-13 21:03:00 658
原创 大数乘除(hdoj1023)
通过这题深深的理解了算法的重要性。 深深理解了算法没有绝对最优,只有相对,要针对具体情况设计相应的算法,这才是王道!之前做死的写大数*大数,大数/大数,好不容易写出来,TLE,改成10^10进制,在自己机器上运行居然比10进制的还慢!后来发现是大数/大数出的问题,方法是用减法模拟除法,然后就悲剧了如果是像10^10/2这样很小的数,就这一个数都会TLE. 后来仔细观察其实没必要用大数*大数,大数/大数,只要大数/(小数)就行。然后10^10进制果断0MS过了。因为c[i]=c[i-1]*(4*i-2
2011-03-13 16:03:00 779
原创 catalan数(poj1095)
这题个人感觉算是递归的经典吧!这里给出一个这题的解题报告链接,个人感觉已经写得很好了。http://blog.csdn.net/lvlu911/archive/2010/03/28/5425974.aspx提示大家要注意的几点是要紧紧抓住递归方程的定义,这句:递归函数fun(n,k)。即打印出拥有n个结点树的第k种状态。可能大家对这句话不是怎么理解:对于s,该树的左子树编号为(s-1)/L[n-i-1]+1,右子树编号为(s-1)% L[n-i-1]+1我个人的理解是把状态数s先看成L[n-i-1]进制的数
2011-03-13 15:49:00 730
原创 Catalan数
<br />一、公式意义<br /><br />c(a,b)表示组合 <br />C(a)表示catalan数<br /><br />1.n+2边形的三角剖分数h(n+2)=C(n)<br /><br />2.n个1和n个0组成的长度为2n且任意位置处序列1的个数多于0的个数的排列数P(2n)=C(n)=c(2n,n)-c(2n,n-1)<br />同2的限制条件的还有(x,y序列,火车进站(栈),找钱)<br /><br />3.n个数相乘方案数Pn=h(n+1)(等价于有n个叶子结点的二叉树数)<br
2011-03-10 22:02:00 637
有无向欧拉回路(邻接阵) template
2010-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人