X-man

导航

2013年7月25日 #

4619 Warm up 2

摘要: #include#include#includeusing namespace std;bool point1[110][110];bool xf[110][110];bool yf[110][110];int tmp,ans;//int d[4][2]={{0,-1},{0,1},{1,0},{-1,0}};int dfs(int i,int j){ if(i110||j>110)return 0; if(xf[i][j]&&point1[i+1][j]) { point1[i+1][j]=false; tmp++; dfs(i+1... 阅读全文

posted @ 2013-07-25 17:05 雨钝风轻 阅读(217) 评论(0) 推荐(0) 编辑

hdu 2049 不容易系列之(4)——考新郎 (错排递推)

摘要: 当n个编号元素放在n个编号位置,元素编号与位置编号各不对应的方法数用M(n)表示,那么M(n-1)就表示n-1个编号元素放在n-1个编号位置,各不对应的方法数,其它类推. 第一步,把第n个元素放在一个位置,比如位置k,一共有n-1种方法; 第二步,放编号为k的元素,这时有两种情况 ⑴把它放到位置n,那么,对于剩下的n-1个元素,由于第k个元素放到了位置n,剩下n-2个元素就有M(n-2)种方法; ⑵第k个元素,不把它放到位置n,这时,对于这n-1个元素,有M(n-1)种方法; 综上得到: M(n)=(n-1)[M(n-2)+M(n-1)] 特殊地,M⑴... 阅读全文

posted @ 2013-07-25 11:11 雨钝风轻 阅读(351) 评论(0) 推荐(0) 编辑

hdu 折线分割平面(递推)

摘要: 题解: 首先我们考虑直线的情况:当n=1时原来的1个平面被分割成了2个;当n=2时原来的2个平面被分割成了4个;当n=3时原来的4个平面被分割成了7个;也就是说F(n)=F(n-1)+n且n=0时F(0)=1;推出公式F(n)=(1+2+3+....+n)+F(0)=(1+n)*n/2+1;好那我们考虑折线。这个折线可以看做两条直线相交分割成4个平面。但是由于是折线所以每个折线会损失2个平面。也就是F(n)=(1+2n)*2n/2+1-2n;#includeint main(){ int _case,n; scanf("%d",&_case); while(_cas 阅读全文

posted @ 2013-07-25 10:09 雨钝风轻 阅读(241) 评论(0) 推荐(0) 编辑