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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HDU-4532 湫秋系列故事——安排座位 组合数学DP

發布時間:2025/3/21 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HDU-4532 湫秋系列故事——安排座位 组合数学DP 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

題意:有來自n個專業的學生,每個專業分別有ai個同學,現在要將這些學生排成一行,使得相鄰的兩個學生來自不同的專業,問有多少種不同的安排方案。

分析:首先將所有專業的學生視作一樣的,最后再乘以各自學生的數量的階乘。排列的時候通過動態規劃來處理,設狀態為前i個系,一共有j個位置相鄰位置來自同系,然后轉移。具體見代碼注釋。

#include <cstdlib> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std;typedef long long LL; const LL mod = (int)(1e9)+7; LL A[50]; LL C[500][500]; LL dp[50][500]; // dp[i][j]表示處理到第i組,一共還有j個位置左右坐的同學來自同一個專業 int n; int seq[50];void pre() {A[0] = A[1] = 1;for (int i = 2; i < 50; ++i) {A[i] = A[i-1] * i % mod;}for (int i = 0; i < 500; ++i) {C[0][i] = 1;for (int j = 1; j <= i; ++j) {C[j][i] = (C[j][i-1] + C[j-1][i-1]) % mod;}} }int solve() {memset(dp, 0, sizeof (dp));dp[1][seq[1]-1] = 1; // 給相鄰同學來自一個系的間隙叫做粘著點 LL sum = seq[1];for (int i = 2; i <= n; ++i) {for (int j = 0; j < sum; ++j) { // sum表示處理到前i-1組最多有sum個粘著點 for (int k = 1; k <= seq[i]; ++k) { // 枚舉第i組同學被拆分成k個塊放入到隊伍中 for (int h = 0; h <= j && h <= k; ++h) {// 枚舉有h個塊放到了前面的j個粘著點,即破壞了粘著點,但顯然塊內帶來了新的粘著點 dp[i][j-h+seq[i]-k] += dp[i-1][j]*C[h][j]%mod*C[k-h][sum+1-j]%mod*C[k-1][seq[i]-1]%mod;// C[h][j]表示h個快插入了哪些粘著點// C[k-h][sum-1-j]表示k-h個塊插入了那些非粘著點,總間隙是sum+1個// C[k][seq[i]-1]表示這seq[i]個同學是如何劃分成k個塊的 dp[i][j-h+seq[i]-k] %= mod;}}}sum += seq[i]; }LL ret = dp[n][0];for (int i = 1; i <= n; ++i) {ret = ret * A[seq[i]] % mod;}return ret; }int main() {int T, ca = 0;pre();scanf("%d", &T);while (T--) {scanf("%d", &n);for (int i = 1; i <= n; ++i) {scanf("%d", &seq[i]);}printf("Case %d: %d\n", ++ca, solve());}return 0; }

?

轉載于:https://www.cnblogs.com/Lyush/p/3418646.html

總結

以上是生活随笔為你收集整理的HDU-4532 湫秋系列故事——安排座位 组合数学DP的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品日韩在线 | 亚洲精品久久久乳夜夜欧美 | 国产网红女主播精品视频 | 电家庭影院午夜 | 中文字幕视频二区 | 亚洲免费婷婷 | 大肉大捧一进一出好爽mba | 麻豆一区二区三区 | 欧美激情一区二区三区四区 | 中文字幕在线观看网站 | 国产一级黄色录像 | 九九热久久免费视频 | 欧美日韩在线一区 | 潘金莲性xxxxhd | 中文字幕中文字幕 | 精品国产乱码久久久久久闺蜜 | 嫩草视频在线播放 | 日韩成人中文字幕 | 91偷拍精品一区二区三区 | 久久伊人五月天 | 一本一道久久a久久综合蜜桃 | 波多野吉衣久久 | 久久久久久久亚洲 | 高跟av | 男人天堂2019 | 午夜精品福利一区二区蜜股av | 久久久久香蕉 | 中文字幕+乱码+中文字幕一区 | 少妇一级淫片免费放 | 四虎视频国产精品免费 | 男女男精品视频 | 视频一二三区 | 欧美成人综合色 | 成人在线视频观看 | 91国产免费视频 | 黄色av免费网站 | 免费在线一区二区 | 96久久精品 | 初尝黑人巨炮波多野结衣 | 亚洲欧洲av | 色xxxxx| 高清无打码| 国产喷水在线 | 精品人妻一区二区免费 | 国产成人麻豆免费观看 | 国产操操操 | 最近免费中文字幕大全免费版视频 | 中文字幕永久免费 | 影音先锋制服丝袜 | 国产欧美在线看 | 久久aaaa片一区二区 | 中文字幕日韩经典 | 成人免费毛片视频 | 亚洲国产精品欧美久久 | 欧美日韩国产免费观看 | 欧美精品一区二区在线观看 | 午夜精品一区 | 蜜臀av在线播放 | 久综合| 国产免费播放 | 丝袜诱惑一区 | 欧美精品性生活 | 午夜视频免费在线观看 | 日本黄色片网址 | jizz欧美性20 | 成人av中文解说水果派 | 国产精品三级在线 | 欧美午夜精品一区二区三区 | 红杏出墙记 | 欧美激情91 | 福利视频精品 | 久操国产视频 | 色图在线观看 | 五月婷婷七月丁香 | 五月综合激情日本mⅴ | 乱lun合集男男高h | 成人黄色电影在线 | 超碰95在线 | 一区二区在线免费观看 | 被扒开腿一边憋尿一边惩罚 | 国产av人人夜夜澡人人爽 | 欧美视频一区二区在线观看 | 91色漫 | 亚洲日本色图 | 女人裸体无遮挡 | 哺乳期av | 日韩avv| 午夜视频在线观看免费视频 | 久久2019| xxxxⅹxxxhd日本8hd | 亚洲国产婷婷 | 偷拍精品一区二区三区 | 激情五月开心婷婷 | 少妇网站在线观看 | 亚洲爆爽av | 无码gogo大胆啪啪艺术 | 欧美视频在线观看免费 | 国产日韩欧美一区 | 999久久久国产 |