NOIP2016組合數問題

2021-07-25 03:43:46 字數 722 閱讀 9609

【題目分析】

dp不解釋。首先要來乙個組合數將cnm的值都預處理出來,不過在加起來的時候記得取模。

接下來就是二維字首和的事情了。

【**】

#define m 2000

#include

#include

#include

#include

using

namespace

std;

int c[m+3][m+3],sum[m+3][m+3];

int k,cas,n,m;

void rd(int &res)while(c=getchar(),isdigit(c));

}void ps(int x)

void pf(int x)

void init()

}for(int i=0;ifor(int j=0;j1][j+1]=sum[i+1][j]+sum[i][j+1]-sum[i][j];

if(j<=i&&!c[i][j])sum[i+1][j+1]++;}}

}int main()return

0;}

可惜因為自己比較恐懼數學型別的dp,十分不自信,加之第一天**的心理問題,導致dp的轉移沒有想太多,寫了很奇怪的轉移方程,樣例過了就假裝a掉。太不應該了。

當初wa掉這一題,我才知道自己有多年輕。現在看見這種題目就應該要直接切掉,除錯都應該是乙個恥辱。

NOIP2016 組合數問題

題目描述 第一行有兩個整數t,k,其中t代表該測試點總共有多少組測試資料,k的意義見 問題描述 接下來t行每行兩個整數n,m,其中n,m的意義見 問題描述 t行,每行乙個整數代表答案。輸入樣例 1 1 23 3 輸入樣例 2 2 54 5 6 7 輸出樣例 1 1輸出樣例 2 07 樣例1說明 在所...

NOIP2016 組合數問題

題目描述 題目背景 noip2016 提高組 day2 t1 組合數 表示的是從 n 個物品中選出 m 個物品的方案數。舉個例子,從 1,2,3 三個物品中選擇兩個物品可以有 1,2 1,3 2,3 這三種選擇方法。根據組合數的定義,我們可以給出計算組合數 的一般公式 1 2 n。小蔥想知道如果給定...

NOIP2016 組合數問題

組合數表示的是從n個物品中選出m個物品的方案數。舉個例子,從 1,2,3 三個物品中選擇兩個物品可以有 1,2 1,3 2,3 這三種選擇方法。根據組合數的定 義,我們可以給出計算組合數的一般公式 其中n 1 2 n 小蔥想知道如果給定n,m和k,對於所有的0 i n,0 j min i,m 有多少...