POJ1430

鏈接:http://poj.org/problem?id=1430

題意:求斯特靈數S(n,m)%2

分析:由於數據較大,不能根據第二類斯特靈數來求解S(n,m)的值,那麼就要用到Sierpinski三角形中的一個結論

S(N,K)=C(Z,W) mod 2,其中,z=N-ceil((M++1)/2),W=(M-1)/2;

C(N,K)爲奇數當且僅當N&K=K時成立

有了這個公式,題目就簡單了 

#include<iostream>
#include<cstdio>
#include<cmath>
using namespace std;

int main()
{
    int t,n,m;
    int a,b;
    cin>>t;
    while(t--)
    {
        cin>>n>>m;
        a=n-(int)(ceil((m+1)/2.0));
        b=(m-1)/2;
        if((a&b)==b)cout<<1<<endl;
        else cout<<0<<endl;
    }
    return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章