日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

BZOJ 4665: 小w的喜糖

發(fā)布時(shí)間:2025/7/25 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BZOJ 4665: 小w的喜糖 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

傳送門

見計(jì)數(shù)想容斥

顯然每個(gè)人交換后可以變成任意的排列

所以就是求對(duì)于所有排列使得每個(gè)位置的值都和一開始的值不同

感覺同一個(gè)值算同一個(gè)數(shù)不太好搞,考慮把所有數(shù)都看成不同的,最后答案再除 $\prod _{i=1}^{n}fac[cnt[i]]$(其中 $cnt[i]$ 表示值為 $i$ 的數(shù)的個(gè)數(shù))

然后發(fā)現(xiàn)每個(gè)位置都要不同的限制很麻煩,考慮先求出 $F[i]$ 表示至少有 $i$ 個(gè)位置拿到原來的數(shù)的方案數(shù)

考慮 $dp$ 這個(gè)東西,設(shè) $f[i][j]$ 表示已經(jīng)選好從 $1$ 到 $i$ 的數(shù)的位置,當(dāng)前有 $j$ 個(gè)位置是原來的數(shù),其他的位置還沒考慮

那么考慮直接枚舉這個(gè)值 $i$ 有 $k$ 個(gè)數(shù)還在原來的位置,$k \in [0,cnt[i]]$

那么有 $f[i][j]=\sum_{k=0}^{min(j,cnt[i])}f[i-1][j-k]C_{cnt[i]}^{k} (\prod_{p=cnt[i]-k+1}^{cnt[i]}p)$(就是我隨便選出 $k$ 個(gè)位置,然后隨便放在那 $cnt[i]$ 個(gè)位置上)

求出 $f[i][j]$ 以后那么 $F[i]=f[n][i]*(n-i)!$

然后容斥一下,$Ans=\sum_{i=0}^{n}(-1)^iF[i]$

別忘了最后要除一個(gè)?$\prod _{i=1}^{n}fac[cnt[i]]$

#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> using namespace std; typedef long long ll; inline int read() {int x=0,f=1; char ch=getchar();while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); }while(ch>='0'&&ch<='9') { x=(x<<1)+(x<<3)+(ch^48); ch=getchar(); }return x*f; } const int N=2007,mo=1e9+9; inline int fk(int x) { return x>=mo ? x-mo : x; } int n,m,A[N],cnt[N],Ans; int fac[N],inv[N],facinv[N],C[N][N],f[N][N]; int main() {n=read();for(int i=1;i<=n;i++) cnt[read()]++;fac[0]=1; inv[1]=1; facinv[0]=1;for(int i=1;i<=n;i++){fac[i]=1ll*fac[i-1]*i%mo;if(i!=1) inv[i]=1ll*(mo-mo/i)*inv[mo%i]%mo;facinv[i]=1ll*facinv[i-1]*inv[i]%mo;}C[0][0]=1;for(int i=0;i<=n;i++)for(int j=0;j<=i;j++){C[i+1][j]=fk(C[i+1][j]+C[i][j]);C[i+1][j+1]=fk(C[i+1][j+1]+C[i][j]);}f[0][0]=1;for(int i=1;i<=n;i++)for(int j=0;j<=n;j++)for(int k=0;k<=cnt[i]&&k<=j;k++)f[i][j]=fk( f[i][j]+ 1ll*f[i-1][j-k]*C[cnt[i]][k]%mo *fac[cnt[i]]%mo *facinv[cnt[i]-k]%mo );for(int i=0;i<=n;i++){if(i&1) Ans=fk(Ans+mo-1ll*f[n][i]*fac[n-i]%mo);else Ans=fk(Ans+1ll*f[n][i]*fac[n-i]%mo);}for(int i=1;i<=n;i++) Ans=1ll*Ans*facinv[cnt[i]]%mo;printf("%d",Ans);return 0; }

?

轉(zhuǎn)載于:https://www.cnblogs.com/LLTYYC/p/10783442.html

總結(jié)

以上是生活随笔為你收集整理的BZOJ 4665: 小w的喜糖的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久手机视频 | 性欧美一区 | a国产视频| 中文人妻熟女乱又乱精品 | 91精品999| 91国产一区 | 日韩 欧美 中文 | 东北少妇不戴套对白第一次 | 日韩一级片av | 免费视频成人 | 精品无人区无码乱码毛片国产 | 精品国产乱码久久久久久影片 | 精品无码一区二区三区 | 懂色av懂色av粉嫩av分享吧 | 韩国成人在线 | 99国产精品久久久久久久 | 亚洲妇女av| 无码人妻丰满熟妇精品区 | 精品人妻码一区二区三区红楼视频 | 国产精品果冻传媒潘 | 久久久看片| 性做爰视频免费播放大全 | 日韩成人福利 | 久久国产柳州莫菁门 | 射进来av影视 | 国产一区不卡视频 | 无码人妻aⅴ一区二区三区玉蒲团 | 色屁屁一区二区三区 | 毛片中文字幕 | 国产成人精品视频在线观看 | 久操这里只有精品 | 国产人妖一区二区三区 | 欧美性xxxxx极品娇小 | 久久av资源 | 91天天干| 亚洲欧美一区二区三区情侣bbw | 亚洲自拍偷拍一区二区三区 | 性激烈视频在线观看 | 亚洲免费观看高清在线观看 | 中文字幕制服丝袜 | 日本亚洲网站 | 亚洲中文字幕无码av永久 | 中文字幕一区二区三区人妻四季 | 在线观看三级网站 | 日本高清www免费视频 | 国产婷婷色 | 骑骑上司妻电影 | 国产怡红院| 久久精品黄 | 在线观看黄色小视频 | 日日撸视频 | 啪啪综合| 射影院| xx性欧美肥妇精品久久久久久 | 天天综合色网 | av免费高清 | 日本色综合网 | 噜噜在线视频 | xxxx视频在线观看 | 日日噜噜夜夜狠狠久久波多野 | 午夜影音 | 男人天堂免费视频 | 五月婷婷基地 | 国产一区二区三区精品视频 | 大桥未久恸哭の女教师 | 免费国产一区 | 国产日韩视频在线 | 欧美日韩性生活 | 日本黄色小网站 | 天堂在线观看 | 日韩一级片av | 国产区第一页 | 一区二区伦理 | avxx| 日本深夜福利 | 六月激情综合网 | 一本到在线观看 | 黄色大片一级 | 69福利社区 | 一区视频网站 | 中文字幕一区二区三区门四区五区 | 国产日本一区二区三区 | 国产日韩欧美中文字幕 | 好色视频tv | 国产精品视频a | 中文字幕日韩高清 | 欧美国产大片 | 日产亚洲一区二区三区 | 男女作爱免费网站 | 精品无码国产污污污在线观看 | 欧美大片xxxx | av官网在线 | 成人欧美一区二区三区在线观看 | 欧美综合色区 | 日韩在线电影一区 | 2024男人天堂 | 玩弄人妻少妇500系列视频 | 中文字幕亚洲欧美日韩 | 少妇黄色片 |