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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

【洛谷】选数---深度优先搜索+单调不降去重

發(fā)布時間:2025/3/21 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【洛谷】选数---深度优先搜索+单调不降去重 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題目描述

傳送門:https://www.luogu.com.cn/problem/P1036
已知n個整數(shù)x1,x2…xn,以及一個整數(shù)k(k<n)。從n個數(shù)字中任選k個數(shù)字相加,可分別得到一系列的和。例如當(dāng)n=4,k=3,4個整數(shù)分別為3,7,12,9時,可得全部組合和它們的和為:
3+7+12=22

3+7+19=293+7+19=29

7+12+19=387+12+19=38

3+12+19=343+12+19=34。

現(xiàn)在,要求你計算出和為素數(shù)共有多少種。

例如上例,只有一種的和為素數(shù):3+7+19=293+7+19=29。

輸入格式

鍵盤輸入,格式為:
n,k(1<=n<=20,k<n)
x1,x2…xn(1<=xi<=5000000)

輸出格式

屏幕輸出,格式為: 1個整數(shù)(滿足條件的種數(shù))。

輸入樣例

4 3 3 7 12 19

輸出樣例

1

這里采用深度優(yōu)先搜索,但是選數(shù)的難點在于遞歸中怎樣選擇不重復(fù)的k個數(shù)字,我們可以采用單調(diào)不降原則。
例如,我們從6個數(shù)字1 2 3 4 5 6中選擇三個數(shù)字,怎樣選擇?
1 2 3
1 2 4
1 2 5
1 2 6
這是第一輪的枚舉
那么下一輪的枚舉,我們將第二個數(shù)字加1:
1 3 4
1 3 5
1 3 6
當(dāng)?shù)谝粋€數(shù)字變?yōu)?時,
2 3 4
2 3 5
2 3 6
2 4 5
2 4 6
2 5 6
依此類推…
其他枚舉可能
3 4 5
3 4 6
3 5 6
4 5 6
重復(fù)上述過程,第一個數(shù)字一次變?yōu)?2 3 4 5 6即可。
這樣可以避免重復(fù)的選取,那體現(xiàn)在輸入的數(shù)字上,我們可以依靠索引,逐步選取當(dāng)前選擇索引之后的元素,即可避免重復(fù)。

程序?qū)崿F(xiàn):

#include<bits/stdc++.h> using namespace std;int n, k; int a[25]; int ans = 0; bool isprime(int num)//素數(shù)判斷 不用多說 {for (int i = 2; i <= sqrt(num); i++)if (num % i == 0)return false;return true; }void dfs(int m, int sum, int start) {if (m == k){if (isprime(sum)) {ans++;return;//如果滿足選取了k個數(shù)組 且滿足素數(shù)要求 直接累加 返回}}for (int i = start; i < n; i++)//選取個數(shù)加以 sum累加 索引加一dfs(m + 1, sum + a[i], i + 1);//從當(dāng)前索引依次遞歸后續(xù)元素//即加入選取了1 那么之后的遞歸選取為 a[1]a[2],a[1]a[3],a[1]a[4]...... } int main() {cin >> n >> k;for (int i = 0; i < n; i++)cin >> a[i];dfs(0, 0, 0);//初始狀態(tài)深搜cout << ans << endl; }

算法參考:https://www.luogu.com.cn/user/120868

總結(jié)

以上是生活随笔為你收集整理的【洛谷】选数---深度优先搜索+单调不降去重的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 日韩大尺度视频 | 欧美精品一区二区三区在线 | 成人性生活免费看 | www.五月天激情 | 日韩欧美在线一区二区 | 伊人福利视频 | 91亚洲高清 | 色爱AV综合网国产精品 | 美国做爰xxxⅹ性视频 | 欧美黑人一区二区三区 | av福利网站 | 奇米精品一区二区三区四区 | 五月花成人网 | 粉嫩aⅴ一区二区三区四区五区 | 解开乳罩喂领导吃奶 | 天天综合日日夜夜 | 国产在线一二三区 | 黄色网址你懂的 | 午夜视频一区二区三区 | 西野翔夫の目の前で犯在线 | www男人天堂 | 美女扒开粉嫩尿口 | 成人午夜免费在线观看 | 国产精品理论片在线观看 | 九一精品在线 | 日操操 | 91精品视频免费看 | 痴汉电车在线观看 | 无码人妻av一区二区三区波多野 | 妖精视频污| 欧美高清二区 | 亚洲黄业 | 操你啦免费视频 | 婷婷亚洲五月 | 黄色大片中文字幕 | 熟女丰满老熟女熟妇 | 日韩在线综合 | 免费a v在线 | 可以免费看毛片的网站 | 伊人久久一区二区 | 人妻熟女aⅴ一区二区三区汇编 | 久久免费一级片 | 福利视频黄色 | 日韩人妻一区二区三区蜜桃 | 99色这里只有精品 | 国产精品12区 | 三级视频网站在线观看 | 国模福利视频 | 久久国产秒 | 美女一二区 | 国产在线观看免费网站 | 自拍偷拍精品 | 日本一区三区 | 91一起草| 欧州一区二区 | free黑人多人性派对hd | 日本三级吃奶头添泬无码苍井空 | 午夜黄色在线 | 91精品人妻一区二区三区果冻 | 日韩在线视频你懂的 | 夜夜爽天天操 | 色综合天天综合网国产成人网 | 日日色av| 日韩在线一二三区 | 少妇做爰免费理伦电影 | 免费国产黄色片 | 亚洲在线天堂 | 一级一级黄色片 | 人人妻人人做人人爽 | 久久这里只有精品6 | 色香视频首页 | 中文在线а√在线 | 美国一级大黄一片免费中文 | 亚洲av久久久噜噜噜噜 | 国产在线一区不卡 | 激情伊人 | 日韩欧美一区二区视频 | 色伊人 | 国产精品区二区三区日本 | 一节黄色片 | 91桃色在线| 国产无套粉嫩白浆内谢 | 欧美精品自拍 | 欧美激情xxxxx | 向日葵视频在线播放 | 国产一区视频在线播放 | 亚洲欧美电影 | 狠狠干一区 | 五月天爱爱 | 香蕉久久夜色精品升级完成 | 777米奇影视第四色 五月丁香久久婷婷 | 欧美高清精品一区二区 | av作品在线观看 | 99热这里只有精品久久 | 无套白嫩进入乌克兰美女 | 亚洲精品乱码久久久久久蜜桃图片 | 久久婷婷五月综合色国产香蕉 | 18在线观看视频 | 扒下小娇妻的内裤打屁股 |