摘要:
此文是转载 出处:http://blog.sina.com.cn/s/blog_7fec19cd01010h60.html不过我换上了我自己的代码hdu2050 折线分平面:1.当有n-1条直线时,平面最多被分成了f(n-1)个区域。则第n条直线要是切成的区域数最多,就必须与每条直线相交且不能有同一交点。这样就会得到n-1个交点。这些交点将第n条直线分为2条射线和n-2条线断。而每条射线和线断将以有的区域一分为二。这样就多出了2+(n-2)个区域。故:f(n)=f(n-1)+n=f(n-2)+(n-1)+n……=f(1)+1+2+……+n=n(n+1)/2+12.根据直线分平面可知,由交点决定 阅读全文
posted @ 2013-03-30 00:47
hacker_hzh
阅读(169)
评论(0)
推荐(0)
摘要:
这一题我开始一直在想直接的递推关系 但失败了 最后看了别人的思路才知道这样也可以:up[i]表示最后一步是向上而来的次数,lr[i]表示最后一步是向左或向右而来,则总方法数为sum[i] = up[i] + lr[i]。而 up[i] = up[i-1] + lr[i-1],lr[i-1] = lr[i-1] + 2 * up[i-1]。于是就有sum[i] = sum[i-1] * 2+ sum[i-2] ( 我的代码没有用这个公式,而且这个公式我自己也没有推,直接从别人那借用的 )代码如下: 1 #include <stdio.h> 2 #include <stdlib. 阅读全文
posted @ 2013-03-30 00:37
hacker_hzh
阅读(107)
评论(0)
推荐(0)

浙公网安备 33010602011771号