zoukankan      html  css  js  c++  java
  • uva 11806 容斥原理+二进制

    很容易想到要用容斥原理,这里有一个小技巧就是用二进制数来表示集合的交。

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 using namespace std;
     5 
     6 typedef long long ll;
     7 const int MOD = 1000007;
     8 const int N = 501;
     9 int cn[N][N];
    10 
    11 void init()
    12 {
    13     memset( cn, 0, sizeof(cn) );
    14     cn[0][0] = 1;
    15     for ( int i = 1; i < N; i++ )
    16     {
    17         cn[i][0] = cn[i][i] = 1;
    18         for ( int j = 1; j < i; j++ )
    19         {
    20             cn[i][j] = ( cn[i - 1][j] + cn[i - 1][j - 1] ) % MOD;
    21         }
    22     }
    23 }
    24 
    25 int main ()
    26 {
    27     init();
    28     int t;
    29     cin >> t;
    30     for ( int _case = 1; _case <= t; _case++ )
    31     {
    32         int n, m, k;
    33         cin >> n >> m >> k;
    34         int ans = cn[n * m][k];
    35         for ( int s = 1; s < 16; s++ )
    36         {
    37             int cnt = 0, r = n, c = m;
    38             for ( int i = 0; i < 4; i++ )
    39             {
    40                 if ( s & ( 1 << i ) )
    41                 {
    42                     cnt++;
    43                     if ( i & 1 )
    44                     {
    45                         r--;
    46                     }
    47                     else
    48                     {
    49                         c--;
    50                     }
    51                 }
    52             }
    53             if ( cnt & 1 )
    54             {
    55                 ans = ( ans - cn[r * c][k] + MOD ) % MOD;
    56             }
    57             else
    58             {
    59                 ans = ( ans + cn[r * c][k] ) % MOD;
    60             }
    61         }
    62         cout << "Case " << _case << ": " << ans << endl;
    63     }
    64     return 0;
    65 }
  • 相关阅读:
    nginx.conf
    添加分类和标签,级联数据
    使用事物插入数据库
    列表页面常用技巧
    常用TagHelper
    培训指导
    控件数据绑定总结
    快速添加Basic表单
    自动构建表单
    模块制作标准说明
  • 原文地址:https://www.cnblogs.com/huoxiayu/p/4733687.html
Copyright © 2011-2022 走看看