codevs 1449 求阶乘

题目:
http://codevs.cn/problem/1449/

虽然慢一点……

复杂度O(n*2^n);

#include
#include
#include
#include
using namespace std;
int f[100001];
int n,m;
void solve()
{
    cin>>n;
    m=1<0]=1;
    for(int i=1;ifor(int j=i;j>0;j-=(j&-j)) 
            f[i]+=f[i&~(j&-j)];//f[i^(j&-j)]
    cout<1];
}

int main()
{
    solve();
    return 0;
}

你可能感兴趣的:(水题)