Noip 2002 普及組 複賽試題

2022-08-17 13:36:19 字數 1571 閱讀 5173

the first:

級數求和                                 

【p1035】級數求和

解題報告:

double運算即可, 注意細節.

#include using

namespace

std;

intmain()

cout

<

return0;

}

級數求和

the second:

選數【p1036】選數

解題報告:

將給出的資料做公升序全排列(回溯), 將得出的資料judge, 若是素數, 總數 + 1。

若用全排列而不用公升序全排列會有重複。

#include #include 

using

namespace

std;

int n, k, a[21], b[21] = , c[21], tot = 0, aox = 0

;void judge(int

tot)

int search(int

l) }

}int

main()

選數the third:

產生數[p1037]產生數

解題報告:

dfs求出每個數字可以變換的次數, 乘法原理相乘。

因為每個數字最多可以變成8種數字, 所以可以使用高精乘低精。

#include #include 

#include

using

namespace

std;

int change[16][2], sum[10], tot = 0, judge[10

], k;

int a[1001], len = 0

;int mul(int

l)

if(x != 0) a[++len] =x;

}int dfs(int

l) }

}int

main()

a[0] = sum[n[0] - 48

];

for(int i = 1; i < n.length(); ++i)

mul(sum[n[i] - 48

]);

for(int i = len; i >= 0; --i) cout <

return0;

}

產生數the fourth:

過河卒[p1002]過河卒

解題報告:

將馬和馬能跳到的位置標記成1, 然後dp[i][j] = dp[i - 1][j] + dp[i][j - 1];

#include using

namespace

std;

long

long b[30][30

];int a[30][30

];int

main()

cout

<

return0;

}

過河卒the end..

NOIP 2002 普及組 複賽 過河卒

noip 2002 普及組 複賽 過河卒 1314 例3.6 過河卒 noip2002 洛谷 p1002 過河卒 樣例每通過,仔細看題,發現起點是從 0,0 開始,而誤以為是 1,1 開始,修改 樣例通過,提交,測試點3,4wa,重新讀題,發現沒說a b 處理了a b的情況,提交,測試點3,4wa,...

NOIP2002 普及組複賽 第三題 選數

題目描述description 已知 n 個整數 x1,x2,xn,以及乙個整數 k k n 從 n 個整數中任選 k 個整數相加,可分別得到一系列的和。例如當 n 4,k 3,4 個整數分別為 3,7,12,19 時,可得全部的組合與它們的和為 3 7 12 22 3 7 19 29 7 12 1...

NOIP 2002 普及組 數字遊戲

題目鏈結 題目分析 這道題是一道區間dp題,跟能量項鍊還有石子合併差不多,我們用f i j l 表示處理i到j這一區間分為l段所能得到的最大值或是最小值。具體看 程式 include include include include include using namespace std int n,...