noip2001 數的計算 (動態規劃)

2021-07-04 19:39:33 字數 822 閱讀 9026

a1130. 數的計算

時間限制:

1.0s   記憶體限制:

256.0mb

總提交次數:

381ac次數:

254   平均分:

72.34

將本題分享到:

檢視未格式化的試題

提交試題討論

試題**

noip2001 普及組

問題描述

我們要求找出具有下列性質數的個數(包含輸入的自然數n):

先輸入乙個自然數n(n<=1000),然後對此自然數按照如下方法進行處理:

1. 不作任何處理;

2. 在它的左邊加上乙個自然數,但該自然數不能超過原數的一半;

3. 加上數後,繼續按此規則進行處理,直到不能再加自然數為止.

輸入格式

乙個數n

輸出格式

乙個數表示答案

樣例輸入 6

樣例輸出 6

樣例說明

滿足條件的數為6,16,26,126,36,136

解析:設b[i]表示輸入數字為 i 時的答案,a[i]=b[1]+...+b[i],則有如下關係:

a[i]=a[i-1]+b[i]

b[i]=a[i/2]+1(這裡加的 1 是單獨乙個數字 i 的情況)

==>a[i]=a[i-1]+a[i/2]+1

那麼當輸入數字為 n 時,答案即為a[n/2]+1;

**:

#includeconst int maxn=500;

int a[maxn+20];

int main()

NOIP 2001 數的劃分

問題描述 將整數 n 分成 k份,且每份不能為空,任意兩份不能相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。問有多少種不同的分法。輸入 n,k 輸出 乙個整數,即不同的分法。樣例 輸入 7 3 輸出 4 四種分法為 6 n 200,2 k 6 記 f i,j 為 k i n j...

NOIP2001 數的劃分

codevs 1039 1039 數的劃分 2001年noip全國聯賽提高組 時間限制 1 s 空間限制 128000 kb 題目等級 gold 題解 題目描述 description 將整數n分成k份,且每份不能為空,任意兩種劃分方案不能相同 不考慮順序 例如 n 7,k 3,下面三種劃分方案被認...

數的計數 Noip2001

1 include2 include3 using namespace std 4int main 518 a s 19 20 cout 21return0 22 w 數的計數 noip2001 w 問題描述 w我們要求找出具有下列性質數的個數 包括輸入的自然數n 先輸入乙個自然數n n 1000 ...