LeeBlog

导航

随笔分类 -  错排

错排小结
摘要:从昨天到今天,学习了卡了我很久的错排,而这两天小错误犯了很多,导致我卡了很久,不然应该可以很轻松的解决,不过我觉得这是件好事,因为现在卡总比在赛场上卡好.........错排公式有两个( 1 ) n! / 2! - n!/3! + n!/4!-.......+( -1 ) ^ n * n! / n!;递推来........( 2 )f( n ) = ( f( n - 1 ) + f( n - 2 ) ) * ( n - 1 ) ,f( 1 ) = 0,f( 2 ) = 1;DP来........我开始水这两个的时候都是用的double型一直不能水啊 .. 知道后面用了longlong行才能过. 阅读全文

posted @ 2011-05-07 17:38 LeeBlog 阅读(158) 评论(0) 推荐(0)

HDU 2068 RPG的错排
摘要:这题跟hdu 2049 差不多,那个是从N个中选M个,这个是从N个从选1,2,3.......N/2个,错排与组合.....#include<stdio.h>long long num[28];void chart( ){ num[0] = 1; num[1] = 0; num[2] = 1; for( int i = 3; i < 28; ++i ) num[i] = ( i - 1 )*( num[i-1] + num[i-2] ); }long long f( int n,int k ){ double sum = 1; for( int i = n,j = 1; j 阅读全文

posted @ 2011-05-07 17:11 LeeBlog 阅读(302) 评论(0) 推荐(0)

HDU 1465 不容易系列之一
摘要:一个错排公式直接解决 水过#include<stdio.h>long long num[25];void chart( ){ num[1] = 0; num[2] = 1; for( int i = 3; i < 25; ++i ) num[i] = ( num[i-1] + num[i-2] ) * ( i - 1 ); }int main( ){ chart( ); int n; while( scanf( "%d",&n ) != EOF ) printf( "%I64d\n",num[n] ); return 0;} 阅读全文

posted @ 2011-05-07 09:58 LeeBlog 阅读(284) 评论(0) 推荐(0)

HDU 2049 不容易系列之(4)——考新郎
摘要:#include<stdio.h>long long num[25],N[25];int main( ){ num[1] = 0; num[2] = 1; N[1] = 1; N[2] = 2; N[0] = 1; for( int i = 3; i < 25; ++i ) num[i] = ( num[i-1] + num[i-2] )*( i - 1 ),N[i] = i * N[i-1]; int t,n,m; scanf( "%d",&t ); while( t-- ) { scanf( "%d%d",&n,&a 阅读全文

posted @ 2011-05-06 22:40 LeeBlog 阅读(323) 评论(0) 推荐(0)

HDU 2048 神、上帝以及老天爷 典型错排 DP
摘要:这题我看了好几次,因为没学过错排,一直不敢做,今天看了下错排,可以用错排的公式做,但一神牛告诉我,可以DP,DP公式f( n ) = ( f( n - 1 ) + f( n -2 ) ) * ( n - 1 );#include<stdio.h>double num[25],N[25];void chart( ){ num[1] = 0; num[2] = 1; N[1] = 1; N[2] = 2; for( int i = 3; i < 25; ++i )//num[i]是错排 num[i] += ( num[i-1] + num[i-2] ) * ( i - 1 ),N 阅读全文

posted @ 2011-05-06 17:19 LeeBlog 阅读(564) 评论(0) 推荐(0)