<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      [JSOI2015] 染色問題 題解

      條件限制

      (1)棋盤的每一個小方格既可以染色(染成 C 種顏色中的一種),也可以不染色。
      (2)棋盤的每一行至少有一個小方格被染色。
      (3)棋盤的每一列至少有一個小方格被染色。
      (4)每種顏色都在棋盤上出現至少一次。

      題解

      設全集為 \(U\)\(U\) 表示滿足條件(2)(3)的所有染色的方案(包括不合法的(4)限制)

      設屬性 \(S_i\) 表示滿足第 \(i\) 個顏色出現的方案。則有如下:

      \[Ans=\left | \bigcap_{i=1}^{c} S_i \right | =\left | U \right | - \left | \bigcup_{i=1}^{c} \overline{S_i} \right | \]

      計算任意 \(x\)\(\overline{S_i}\) 的交集就是計算至多選擇 \(c-x\) 個顏色的方案數,我們記 \(f(x)\) 為最多使用 \(x\) 個顏色的方案數. 那么 \(f(c)=\left | U \right |\) . 為了滿足條件(3), \(f(x)\) 也需要用到容斥(我們考慮子集為至多有 \(i\) 列上有顏色,容斥求出當 \(i=m\) 時的情況),有如下:

      \[f(x)=\sum_{i=0}^{m} (-1)^{i}\binom{m}{i}((x+1)^{m-i}-1)^n \]

      因此

      \[Ans=f(c)-\sum_{i=1}^{c}(-1)^{i-1}\binom{c}{i}f(c-i) \]

      \[=\sum_{i=0}^{c}(-1)^{i}\binom{c}{i}f(c-i) \]

      帶入 \(f(c-i)\) 得到答案:

      \[Ans=\sum_{i=0}^{c}\sum_{j=0}^{m} (-1)^{i+j}\binom{c}{i}\binom{m}{j}((c-i+1)^{m-j}-1)^n \]

      CODE

      #include<cstdio>
      using namespace std;
      
      const int N=405;
      const int P=1e9+7;
      typedef long long ll;
      ll c,m,n,ans;
      ll C[N][N],f[N];
      
      void binom_init(){
          for (int i=0;i<=400;i++) {
              C[i][0]=1;
              for (int j=1;j<=i;j++) 
                  C[i][j]=(C[i-1][j-1]+C[i-1][j])%P;
          }
      }
      
      ll binpow(ll a,ll idx){
          ll res=1;
          while (idx){
              if (idx&1) res=(res*a)%P;
              a=(a*a)%P;
              idx>>=1;
          }
          return res%P;
      }
      
      int main(){
          scanf("%lld%lld%lld",&n,&m,&c);
          binom_init();
          for (int i=0;i<=c;i++){
              for (int j=0;j<=m;j++){
                  ll d;
                  if (j&1) d=-1;
                  else d=1;
                  f[i]=(f[i]+(d*C[m][j]*binpow((binpow(i+1,m-j))-1,n)))%P;
              }
          }
          for (int i=0;i<=c;i++){
              ll d;
              if (i&1) d=-1;
              else d=1;
              ans=(ans+(d*C[c][i]*f[c-i]))%P;
          }
          ans=(ans+P)%P;
          printf("%lld\n",ans%P);
          return 0;
      }
      
      posted @ 2025-04-24 13:32  ZYStream  閱讀(23)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 亚洲综合无码明星蕉在线视频| 精品三级在线| 国产色a在线观看| 97在线视频人妻无码| 亚洲中文无码永久免费| 四虎永久地址WWW成人久久| 国产精品大全中文字幕| 国产啪视频免费观看视频| 国产精品涩涩涩视频网站| 99久久精品国产一区色| 亚洲狠狠婷婷综合久久久久图片| 国产精品自产在线观看一| 国产成人亚洲欧美二区综合| 国产福利姬喷水福利在线观看| 99久久无码私人网站| 精品国产91久久粉嫩懂色 | 日本九州不卡久久精品一区| 国产精品中文字幕二区| 国产免费一区二区不卡| 欧美做受视频播放| 午夜精品久久久久久久久| 中文字幕日韩一区二区不卡| 国产高潮国产高潮久久久| 亚洲乱色一区二区三区丝袜| 国产亚洲色视频在线| 免费观看欧美猛交视频黑人| 午夜福利院一区二区三区| 亚洲精品一区久久久久一品av | 麻豆tv入口在线看| 国产女人在线视频| 日韩精品 在线一区二区| 亚洲精品天堂在线观看| 日韩亚av无码一区二区三区| 久久精品无码免费不卡| 亚洲人成色99999在线观看| 天天爽夜夜爱| 本免费Av无码专区一区| 久久天天躁夜夜躁狠狠85| 成人免费ā片在线观看| 妖精视频亚州无吗高清版| 免费视频一区二区三区亚洲激情|