Lightoj 1095 容斥原理

2021-06-19 23:16:38 字數 838 閱讀 8791

直接運用容斥原理,組合數學,p100,機械工業出版社

不過有個地方要注意的就是  a = ( a + b + mod )% mod,當a可能為小數的時候,一定要加乙個mod之後再取餘

ac**如下:

#include #include #include #include #include using namespace std;

#define mod 1000000007l

long long dp[1010][1010];

long long combination( int n, int k )

if( k == 0 || n == k )

if( n < k )

return dp[n][k] = ( combination( n - 1, k - 1 ) % mod + combination( n - 1, k ) % mod ) % mod;

}long long factorial( long long n )

return ans;

}long long f( long long a, int b )

return ans;

}int main()

} }cin >> t;

while( t-- )else

ans %= mod;

} ans = ( ans % mod ) * ( combination( m, k ) % mod ) % mod;

cout << "case " << case++ << ": " << ans << endl;

} return 0;

}

容斥原理 數論

兩個集合的容斥關係公式 a b a b a b a b 重合的部分 三個集合的容斥關係公式 a b c a b c a b b c c a a b c 最後可以推廣到n個集合,集合裡的元素為奇數則加,偶數減 hdu 4135 很簡單,直接求出所有的質因子,然後容斥解決 author crystal ...

容斥原理,反演

大概知道為什麼自己水平比較渣啦。一開始只會反演,然後被容斥驚豔到。然後寫了一段時間容斥,反演忘光光。所以融會貫通真的很難。多校的三道題,當時是用反演做的。事實上以前就知道容斥跟莫比烏斯函式值的關係,然後熟練掌握 然後一段時間沒用就忘了哈。簡單來說就是,求乙個數和乙個集合中的數互質的個數,把集合中乙個...

關於容斥原理

容斥原理大概是這樣的,以長方體體積並為例,我們需要用容斥原理容斥出若干個長方體體積的並.首先,我們將每個長方體標號為1 n,那麼這些長方體的取捨顯然可以表示為乙個二進位制的數字s.設f s 表示長方體取捨狀態為s時,長方體的體積並,於是我們可以知道f 111111 有n個1 就是我們最終的所求.好,...