藍橋模擬八

2021-10-05 04:48:15 字數 1155 閱讀 9563

題目

問題描述

如果乙個序列的奇數項都比前一項大,偶數項都比前一項小,則稱為乙個擺動序列。即 a[2i]a[2i]。

小明想知道,長度為 m,每個數都是 1 到 n 之間的正整數的擺動序列一共有多少個。

輸入格式

輸入一行包含兩個整數 m,n。

輸出格式

輸出乙個整數,表示答案。答案可能很大,請輸出答案除以10000的餘數。

樣例輸入

3 4樣例輸出

樣例說明

以下是符合要求的擺動序列:

2 1 2

2 1 3

2 1 4

3 1 2

3 1 3

3 1 4

3 2 3

3 2 4

4 1 2

4 1 3

4 1 4

4 2 3

4 2 4

4 3 4

評測用例規模與約定

對於 20% 的評測用例,1 <= n, m <= 5;

對於 50% 的評測用例,1 <= n, m <= 10;

對於 80% 的評測用例,1 <= n, m <= 100;

對於所有評測用例,1 <= n, m <= 1000。

我們初始化dp[1][i] = n - i + 1;

第一行中,令 d[1][j]為:第1個數選擇大於等於 j的數的方案總數。

從第二行開始:

​ 奇數行中,令 d[i][j]為:第i個數選擇大於等於j的數時的方案總數。

​ 偶數行中,令 d[i][j]為:第i個數選擇小於等於j的數時的方案總數。

即從第二行開始,如果行數為偶數行,那麼我們當前可能的數目為:dp[i][j] = (dp[i-1][j+1] + dp[i][j-1]) % 10000;,如果為奇數行則:dp[i][j] = (dp[i-1][j-1] + dp[i][j+1]) % 10000;。

​ 然後這樣的話,如果我們總的長度為奇數的話,那麼就是dp[m][1],如果是偶數,則為dp[m][n]。

#include

using

namespace std;

int dp[

1004][

1004];

intmain()

第八屆藍橋杯模擬賽 排列序數

x星系的某次考古活動發現了史前智慧型痕跡。這是一些用來計數的符號,經過分析它的計數規律如下 為了表示方便,我們把這些奇怪的符號用a q代替 abcdefghijklmnopq 表示0 abcdefghijklmnoqp 表示1 abcdefghijklmnpoq 表示2 abcdefghijklmn...

日期問題 藍橋(模擬)

試題 歷屆試題 日期問題 資源限制 時間限制 1.0s 記憶體限制 256.0mb 問題描述 小明正在整理一批歷史文獻。這些歷史文獻 現了很多日期。小明知道這些日期都在1960年1月1日至2059年12月31日。令小明頭疼的是,這些日期採用的格式非常不統一,有採用年 月 日的,有採用月 日 年的,還...

藍橋杯 分糖果 模擬

歷屆試題 分糖果 時間限制 1.0s 記憶體限制 256.0mb 問題描述 有n個小朋友圍坐成一圈。老師給每個小朋友隨機發偶數個糖果,然後進行下面的遊戲 每個小朋友都把自己的糖果分一半給左手邊的孩子。一輪分糖後,擁有奇數顆糖的孩子由老師補給1個糖果,從而變成偶數。反覆進行這個遊戲,直到所有小朋友的糖...