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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

NowCoder110E Pocky游戏 状压DP

發(fā)布時間:2025/5/22 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NowCoder110E Pocky游戏 状压DP 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

傳送門

題意:給出$N$個數(shù)和一個長為$M$、所有數(shù)在$[1,N]$范圍之內(nèi)的正整數(shù)序列$a_i$,求出這$N$個數(shù)的一種排列$p_1...p_N$使得$\sum\limits_{i=2}^M |p_{a_i}-p_{a_{i-1}}|$最小。$N \leq 20,M \leq 1000$


?$N \leq 20$給了我們很明顯的狀壓DP的信息,但是DP方程的思維難度還是有點大。

我們考慮按照數(shù)字從小到大地指定它在$p_i$中的位置。這樣我們可以通過預處理某一個位置在$a_i$中相鄰位置的數(shù)字的情況得到這一個數(shù)的貢獻(也就是可以直接把絕對值符號拆開來計算它的貢獻),這樣子轉(zhuǎn)移就會方便很多了。

設(shè)$f_i$表示已經(jīng)指定了數(shù)字的序列$p$中的元素集合為$i$(eg.$i=10101$就表示指定了$p_1,p_3,p_5$,而$i=01011$表示指定了$p_1,p_2,p_4$),且對應的數(shù)為$N$個數(shù)中最小的若干個時,最小的難度值為多少。我們可以預處理$g_{i,j}$表示在序列$a$中與$i$相鄰的且在集合$j$中的數(shù)的出現(xiàn)次數(shù)的總和(eg.如果有某一對相鄰的數(shù)對為$2,3$,那么$g_{2,2^3}++,g_{3,2^2}++$),這樣我們轉(zhuǎn)移的時候只需要取$g_{k,i}-g_{k,2^N - 1 \, xor \, i}$就可以得到這一個數(shù)的貢獻(也就是拆了絕對值之后的系數(shù))。然后枚舉轉(zhuǎn)移點轉(zhuǎn)移即可。

看到絕對值就要考慮一下從小到大然后拆掉絕對值符號算貢獻呢qwq

1 #include<bits/stdc++.h> 2 using namespace std; 3 4 int now[21] , dp[1 << 21] , cnt[21][1 << 21] , cnt1[1 << 21] , N , M; 5 6 inline int lowbit(int x){ 7 return x & -x; 8 } 9 10 int main(){ 11 cin >> N >> M; 12 for(int i = 0 ; i < N ; i++) 13 cin >> now[i]; 14 int last = -1; 15 while(M--){ 16 int x; 17 cin >> x; 18 x--; 19 if(last != -1){ 20 cnt[last][1 << x]++; 21 cnt[x][1 << last]++; 22 } 23 last = x; 24 } 25 memset(dp , 0x3f , sizeof(dp)); 26 dp[0] = 0; 27 sort(now , now + N); 28 for(int i = 1 ; i < 1 << N ; i++) 29 for(int j = 0 ; j < N ; j++) 30 cnt[j][i] = cnt[j][i - lowbit(i)] + cnt[j][lowbit(i)]; 31 for(int i = 1 ; i < 1 << N ; i++){ 32 cnt1[i] = cnt1[i - lowbit(i)] + 1; 33 for(int j = 0 ; j < N ; j++) 34 if(i & (1 << j)) 35 dp[i] = min(dp[i] , dp[i ^ (1 << j)] + (cnt[j][i] - cnt[j][(1 << N) - 1 - i]) * now[cnt1[i] - 1]); 36 } 37 cout << dp[(1 << N) - 1]; 38 return 0; 39 }

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

《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的NowCoder110E Pocky游戏 状压DP的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩人妻无码精品久久免费 | 中日韩精品视频在线观看 | 免费看黄视频的网站 | 国产成人精品777777 | 99精品国产99久久久久久97 | 日本涩涩网站 | 丝袜 亚洲 另类 欧美 重口 | 海角社区id:1220.7126,10. | 这里有精品 | 一级爱爱免费视频 | 一级草逼片 | 户外少妇对白啪啪野战 | 天天操综合 | 午夜一区二区三区 | 久久精品国产亚洲AV黑人 | 亚洲欧美一区二区激情 | 91国内精品 | 国产污污视频 | 奴色虐av一区二区三区 | www.欧美精品 | 久久99视频 | 日本欧美视频 | 色小姐在线视频 | 人人草人人澡 | 影音先锋男人的天堂 | 午夜久久久久久噜噜噜噜 | 一本不卡 | 欧美熟妇精品黑人巨大一二三区 | 美女av免费看| h无码动漫在线观看 | 香蕉视频成人在线观看 | 一区二区三区有限公司 | 久久高清一区 | 欧美熟妇精品一区二区 | 香蕉成人在线视频 | 美利坚合众国av | 日韩经典av| 久久刺激 | 婷婷视频网 | 久草视频免费看 | 欧美视频精品在线 | 久久久久亚洲av成人人电影 | 亚洲你我色 | 九九热精品免费视频 | 精品熟妇一区二区三区 | 久久久精品视 | 92国产精品 | 日韩精品影院 | 狼人综合伊人 | 国产视频精品视频 | 在线国产一区二区 | 精品一区在线视频 | 女人免费视频 | 成人国产免费观看 | 久久午夜夜伦鲁鲁片无码免费 | 精品深夜av无码一区二区老年 | 亚洲 小说区 图片区 都市 | www激情 | 亚洲AV无码一区二区伊人久久 | 国产成人97精品免费看片 | 久久精品国产精品 | 中文字幕精品视频在线观看 | 另一种灿烂生活 | 大尺度在线观看 | 久久精品日 | 欧美一区二区三区免费 | 在线观看av片 | 岛国视频一区 | 色综合色综合网色综合 | 国产精品对白刺激久久久 | 天天色天天射综合网 | 91网站在线免费观看 | 人人爽人人爱 | 欧美绿帽交换xxx | 国产男女视频在线观看 | 欧美视频一二区 | 黄色免费入口 | 亚洲12p | 亚洲视频在线观看一区 | 牛牛av国产一区二区 | 简单av网| 欧美一区二区在线观看视频 | 精品看片| 亚洲天堂色 | 精东av在线| 久久午夜鲁丝 | 亚洲国内在线 | 秋霞午夜视频 | 天天摸夜夜爽 | 澳门av网站 | 国模私拍一区二区三区 | 国产a级淫片 | 久久黄色精品视频 | 善良的公与媳hd中文字 | 久久精品久久久精品美女 | 国产在线精品二区 | 日韩人妻无码一区二区三区99 | 李宗瑞91在线正在播放 | 免费在线看黄的网站 |