P1025 [NOIP 2001 提高組] 數的劃分(DFS)

題目描述

將整數?n?分成?k?份,且每份不能為空,任意兩個方案不相同(不考慮順序)。

例如:n=7,k=3,下面三種分法被認為是相同的。

1,1,5;
1,5,1;
5,1,1.

問有多少種不同的分法。

輸入格式

n,k?(6<n≤200,2≤k≤6)

輸出格式

1?個整數,即不同的分法。

輸入輸出樣例

輸入 #1復制

7 3

輸出 #1復制

4

說明/提示

四種分法為:
1,1,5;
1,2,4;
1,3,3;
2,2,3.

題目鏈接:P1025 [NOIP 2001 提高組] 數的劃分 - 洛谷
學習鏈接:DFS正確入門方式 | DFS + 遞歸與遞推習題課(下) | 一節課教你爆搜!_嗶哩嗶哩_bilibili

解題思路:

  1. 保證枚舉到的當前位置的數>=下一個位置
  2. 保證排列元素求和==n,每個排列有k個元素?

代碼如下:?

#include<bits/stdc++.h>
using namespace std;
int n;
int k;//劃分份數 
int cnt=0;void dfs(int start,int x,int sum)
{
//	//剪枝:如果當前排列和超過了n,直接結束搜索(該剪枝不夠強,還是會超時) 
//	if(sum>n)	return ;//如果枚舉的位置超過了k份if(x>k){//判斷該排列之和是否==nif(sum==n){cnt++;//累計方案數 } return ;//結束搜索 } //要剪枝:若剩下的幾個位置用當前起始值填充(k-x+1)*i + 當前排列枚舉元素之和sum>n的話就要剪掉,否則會超時 for(int i=start;sum+(k-x+1)*i<=n;i++){//開始枚舉下一個位置dfs(i,x+1,sum+i); }
} 
int main()
{cin>>n>>k;//枚舉第一個位置,第一個位置從1開始枚舉,因為每份不能為空,當前元素和為0 dfs(1,1,0); cout<<cnt<<endl;return 0;
} 

?希望能幫助到各位同志,祝天天開心,學業進步!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74783.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74783.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74783.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

設計模式簡述(三)工廠模式

工廠模式 描述簡單工廠&#xff08;靜態工廠&#xff09;工廠方法模式 抽象工廠增加工廠管理類使用 描述 工廠模式用以封裝復雜的實例初始化過程&#xff0c;供外部統一調用 簡單工廠&#xff08;靜態工廠&#xff09; 如果對象創建邏輯簡單且一致&#xff0c;可以使用簡單工…

批量將 JSON 轉換為 Excel/思維導入等其它格式

json 格式相信對大家來說都不陌生&#xff0c;這是一種輕量級的結構化數據&#xff0c;可以對對象進行描述。json 格式也是一種普通的文本文件格式&#xff0c;用記事本就能夠打開編輯 json 格式的文件&#xff0c;可以很方便的轉換為其他格式。今天要給大家介紹的就是如何將 j…

電腦有時出現檢測不到音箱設備怎么辦?

問題 有時候電腦開機之后就檢測不到音箱&#xff0c;經過我一頓檢查發現是檢測不到聲卡&#xff0c;即使拔插了音箱也沒用&#xff0c;但是當我重啟或者休眠之后再重啟發現就檢測到了 解決方案 方案一 重啟或者休眠之后再開啟 方案二 使用powershell指令將聲卡彈出和載入…

Qwen-Agent框架的文件相關操作:從Assistant到BasicDocQA

在前面的幾篇文章如《針對Qwen-Agent框架的Function Call及ReAct的源碼閱讀與解析&#xff1a;Agent基類篇》 、《基于Qwen-Agent框架的Function Call及ReAct方式調用自定義工具》、 《針對Qwen-Agent框架的源碼閱讀與解析&#xff1a;FnCallAgent與ReActChat篇》中&#xff0c…

RSSI定位程序,N個錨點、三維空間,使用CKF對軌跡進行濾波,附MATLAB代碼的下載鏈接

本文所述的程序實現三維空間中基于RSSI信號的多錨點定位&#xff0c;并采用容積卡爾曼濾波&#xff08;CKF&#xff09;對動態軌跡進行降噪優化。代碼包含完整的定位仿真流程&#xff0c;涵蓋環境建模、信號強度模擬、定位解算、軌跡濾波及可視化分析模塊 文章目錄 程序介紹概述…

開源軟件與自由軟件:一場理念與實踐的交鋒

在科技的世界里&#xff0c;“開源軟件”和“自由軟件”這兩個詞幾乎無人不知。很多人或許都聽說過&#xff0c;它們的代碼是公開的&#xff0c;可以供所有人查看、修改和使用。然而&#xff0c;若要細究它們之間的區別&#xff0c;恐怕不少朋友會覺得云里霧里。今天&#xff0…

C++ - 頭文件基礎(常用標準庫頭文件、自定義頭文件、頭文件引入方式、防止頭文件重復包含機制)

一、頭文件 在 C 中&#xff0c;頭文件&#xff08;.h&#xff09;用于函數聲明、類定義、宏定義等等 在 Visual Studio 中&#xff0c;頭文件通常放在頭文件目錄中&#xff0c;頭文件實現通常放在源文件目錄中 二、常用標準庫頭文件 1、輸入輸出 <iostream> 標準輸入…

CSS 背景屬性學習筆記

一、CSS 背景屬性概述 CSS 背景屬性用于定義 HTML 元素的背景效果&#xff0c;主要包括以下幾種屬性&#xff1a; background-color&#xff1a;定義元素的背景顏色。 background-image&#xff1a;定義元素的背景圖像。 background-repeat&#xff1a;定義背景圖像如何重復…

Qt實現鼠標拖動窗口

Qt實現鼠標拖動窗口 1、設置窗口無邊框2、重寫鼠標點擊&#xff0c;移動函數2.1添加頭文件2.2 重寫函數2.3 添加定義 3、定義一個偏移值4、判斷鼠標左鍵是否按下并計算偏移值5、移動窗口6、.h文件和.cpp文件6.1 .h文件6.2 .cpp文件 7、總結 1、設置窗口無邊框 this->setWin…

MDX語言的數論算法

MDX語言的數論算法探討 引言 數論作為數學的一個重要分支&#xff0c;主要研究整數及其性質。在計算機科學和信息技術領域&#xff0c;數論算法被廣泛應用于密碼學、算法設計、數據加密等領域。MDX&#xff08;Multi-Dimensional Expressions&#xff09;語言&#xff0c;雖然…

【學Rust寫CAD】34 精確 Alpha 混合函數(argb.rs補充方法)

源碼 #[inline]pub fn over_exact(self, dst: Argb) -> Argb {let a 255 - self.alpha32();let t dst.rb() * a 0x80_00_80;let mut rb (t ((t >> 8) & Argb::MASK)) >> 8;rb & Argb::MASK;rb self.rb();// saturaterb | 0x1000100 - ((rb >&…

2025-04-06 NO.2 Quest3 基礎配置與打包

文章目錄 1 場景配置1.1 開啟手勢支持1.2 創建 OVRCameraRig1.3 創建可交互 Cube 2 打包配置 環境&#xff1a; Windows 11Unity6000.0.42f1 Quest3 開發環境配置見 2025-03-17 NO.1 Quest3 開發環境配置教程_quest3 unity 開發流程-CSDN博客。 1 場景配置 1.1 開啟手勢支持 …

LabVIEW提升程序響應速度

LabVIEW 程序在不同計算機上的響應速度可能存在較大差異&#xff0c;這通常由兩方面因素決定&#xff1a;計算機硬件性能和程序本身的優化程度。本文將分別從硬件配置對程序運行的影響以及代碼優化方法進行詳細分析&#xff0c;幫助提升 LabVIEW 程序的執行效率。 一、計算機硬…

Matlab:三維繪圖

目錄 1.三維曲線繪圖命令&#xff1a;plot3 實例——繪制空間直線 實例——繪制三角曲線 2.三維曲線繪圖命令&#xff1a;explot3 3.三維網格命令&#xff1a;mesh 實例——繪制網格面 實例——繪制山峰曲面 實例——繪制函數曲線 1.三維曲線繪圖命令&#xff1a;plot3 …

微信小程序基于Canvas實現頭像圖片裁剪(上)

序言 嘿&#xff0c;打工人混跡職場這么久&#xff0c;圖片處理肯定都沒少碰。不過咱說實話&#xff0c;大部分時候都是直接 “抄近道”&#xff0c;用現成的三方組件&#x1f60f;。就像我&#xff0c;主打一個會用工具&#xff0c;畢竟善用工具可是咱人類的 “超能力”&…

[特殊字符] 使用 Handsontable 構建一個支持 Excel 公式計算的動態表格

在 Web 應用中&#xff0c;處理表格數據并提供 Excel 級的功能&#xff08;如公式計算、數據導入導出&#xff09;一直是個挑戰。今天&#xff0c;我將帶你使用 React Handsontable 搭建一個強大的 Excel 風格表格&#xff0c;支持 公式計算、Excel 文件導入導出&#xff0c;并…

0302useState-hooks-react-仿低代碼平臺項目

文章目錄 1 useState1.1 說明返回 1.2 示例1.3 數據類型 2 state2.1 概述2.2 state特點 3 state重構問卷4 immer結語 1 useState useState 是一個 React Hook&#xff0c;它允許你向組件添加一個 狀態變量。 1.1 說明 語法 const [state, setState] useState(initialState…

前端實現單點登錄(SSO)的方案

概念&#xff1a;單點登錄&#xff08;Single Sign-On, SSO&#xff09;主要是在多個系統、多個瀏覽器或多個標簽頁之間共享登錄狀態&#xff0c;保證用戶只需登錄一次&#xff0c;就能訪問多個關聯應用&#xff0c;而不需要重復登錄。 &#x1f4a1; 方案分類 1. 前端級別 SS…

zabbix監控網站(nginx、redis、mysql)

目錄 前提準備&#xff1a; zabbix-server主機配置&#xff1a; 1. 安裝數據庫 nginx主機配置&#xff1a; 1. 安裝nginx redis主機配置&#xff1a; 1. 安裝redis mysql主機配置&#xff1a; 1. 安裝數據庫 zabbix-server&#xff1a; 1. 安裝zabbix 2. 編輯配置文…

無人機等非合作目標公開數據集2025.4.3

一.無人機遙感數據概述 1.1 定義與特點 在遙感技術的不斷發展中&#xff0c;無人機遙感數據作為一種新興的數據源&#xff0c;正逐漸嶄露頭角。它是通過無人駕駛飛行器&#xff08;UAV&#xff09;搭載各種傳感器獲取的地理空間信息&#xff0c;具有 覆蓋范圍大、綜合精度高、…