1440 例題1 數的劃分 dfs剪枝

2021-10-07 22:08:03 字數 791 閱讀 3258

1440:【例題1】數的劃分

時間限制: 1000 ms 記憶體限制: 65536 kb

提交數: 1607 通過數: 1059

【題目描述】

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

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

;;;問有多少種不同的分法。 輸出乙個整數,即不同的分法。

【輸入】

兩個整數n,k(6【輸出】

乙個整數,即不同的分法。

【輸入樣例】

7 3【輸出樣例】

4【提示】

四種分法為:;;;。

#include

#define ll long long

#define pii pair

#define inf 1<<30

using

namespace std;

const

int n=

1e6+5;

int n,m,res=0;

int a[

105]

;//剪枝 a[i-1]<=a[i]

void

dfs(

int n,

int step)

for(

int i=a[step-1]

;i<=n/

(m-step+1)

;i++

)//平均數的意義為使得後面的數大於等於前面的數

}int

main()

問題 A 例題1 數的劃分

題目描述 將整數n分成k份,且每份不能為空,任意兩種劃分方案不能相同 不考慮順序 例如 n 7,k 3,下面三種劃分方案被認為是相同的。1 1 5 1 5 1 5 1 1 問有多少種不同的分法。輸入n,k 6輸出 乙個整數,即不同的分法 樣例輸入 7 3樣例輸出 4題目型別 dfs,求分發的種類 思...

1433 例題1 憤怒的牛

題解 this is an er fen ti.由題意可得 它是求最小值最大的問題 我們假設 每兩頭牛之間的最小距離為 d 也就是每兩頭牛之間的距離 d 問題也就是求這個 d 最大是多少 理一理思路 1.對所有的牛舍從小到大排序 2.假設我們把第 i 頭牛放在 ai 號牛舍裡,那麼第 i 1 頭牛就...

1448 例題1 電路維修

樣例樣例輸入 樣例輸出 3 5 1 題解我們可以把電路板上的每個格點 橫線與豎線的交叉點 看作無向圖中的結點。若兩個結點x和y是某個小方格的兩個對角,則在x與y之間連邊。若該方格中的標準件 對角線 與x到y的線段重合,則邊權為0 若垂直相交,則邊權為1 說明需要旋轉1次才能連通 然後,我們在這個無向...