11 2013 档案
摘要:经典的信封装信问题f[ n ] = ( n-1 ) * ( f[ n-1 ]+f[ n-2 ] ) 1 #include 2 #include 3 #include 4 typedef long long int64; 5 const int maxn = 22; 6 int64 a[ maxn ]; 7 8 void init(){ 9 a[ 0 ] = a[ 1 ] = 0;10 a[ 2 ] = 1;11 for( int i=3;i<=20;i++ ){12 a[ i ] = ( i-1 )*(a[ i-2 ] + a[ i-1 ]);13 ...
阅读全文
摘要:枚举中间可能出现的天气 1 #include 2 #include 3 #include 4 const int maxn = 1005; 5 double mat[ 5 ][ 5 ]; 6 7 void solve( int L,int R,int n ){ 8 double ans[ 5 ],tp[ 5 ]; 9 double res = 0;10 for( int i=1;i<=n;i++ ){11 if( i==1 ){12 ans[ 1 ] = mat[ L ][ 1 ];13 ans[ 2 ]...
阅读全文
摘要:给定n和m个数,询问在小于n的数中 有多少个能整除m中的某个数。。容斥原理。PS:注意64位整数! 1 /* 2 容斥原理 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; 9 typedef long long int64;10 const int maxn = 24;11 int64 num[ maxn ];12 int64 ans;13 int n, m;14 15 int gcd( int a,int b ){16 int r;17 while( b ){18 ...
阅读全文
摘要:题意:给N个点,求最多有多少个点在同一直线上方法一:求出所有能形成的直线,两两比较,统计最多有多少条重合。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 typedef long long int64; 9 const int64 maxn = 701; 10 const int64 maxm = 490005; 11 const int64 inf = -123456789; 12 struct Point64{ 13 int x,...
阅读全文
摘要:By xxx0624Done: ls ls -a ls -l ls /tmp ls -R ls -t FileName color FileName output 1 /* 2 By xxx0624 3 Done: 4 ls 5 ls -a 6 ls -l 7 ls /tmp 8 ls -R 9 ls -t 10 FileName color 11 FileName output 12 */ 13 14 #include 15 #include 16 #include 17 #include 18 #inclu...
阅读全文