下課了,露露、花花和萱萱在課桌上用正三稜柱教具和尺子擺起了乙個「蹺蹺板」。
這個「蹺蹺板」的結構是這樣的:底部是乙個側面平行於地平面的正三稜柱教具,
上面 擺著乙個尺子,尺子上擺著若干個相同的橡皮。尺子有 2n + 1 條等距的刻度線,
第 n + 1 條 刻度線恰好在尺子的中心,且與正三稜柱的不在課桌上的稜完全重合。
露露發現這個「蹺蹺板」是不平衡的(尺子不平行於地平面)。於是,她又在尺
子上放 了幾個橡皮,並移動了一些橡皮的位置,使得尺子的 2n + 1 條刻度線上都恰
有一塊相同質 量的橡皮。「蹺蹺板」平衡了,露露感到很高興。
花花覺得這樣太沒有意思,於是從尺子上隨意拿走了 k 個橡皮。令她驚訝的事
情發生了: 尺子依然保持著平衡!
萱萱是乙個善於思考的孩子,她當然不對尺子依然保持平衡感到吃驚,因為這
只是乙個 偶然的事件罷了。令她感興趣的是,花花有多少種拿走 k 個橡皮的方法
,使得尺子依然保 持平衡?
當然,為了簡化問題,她不得不做一些犧牲——假設所有橡皮都是擁有相同質量的
質點。但即使是這樣,她也沒能計算出這個數目。放學後,她把這個問題交給了她
的哥哥/ 姐姐——hibarigasaki 學園學生會會長,也就是你。當然,由於這個問題
的答案也許會過於 龐大,你只需要告訴她答案 mod p 的值。
第一行,乙個正整數,表示資料組數 t(萱萱向你詢問的次數)。
接下來 t 行,每行 3 個正整數 n, k, p。
共 t 行,每行乙個正整數,代表你得出的對應問題的答案。
10 6 5 10000
4 1 10000
9 6 10000
4 6 10000
5 1 10000
8318 10 9973
9862 9 9973
8234 9 9973
9424 9 9973
9324 9 9973 731
9208
14421
2565
0446
2549
t <= 20,1 <= n <= 10000,1 <= k <= 10,2 <= p <= 10000,且 k <= 2n+1。
設f[i][j]表示用j個數組成i,那麼可以由f[i-j][j]+f[i-j][j-1]得到。
轉移後最大元素可能》n,但只可能為n+1,於是直接去掉這個數,減去f[i-n-1][j-1]。
都減一的轉移思路還是蠻好的。
#includeconstint maxn=1e5+5
;int f[maxn][15
];int
t,n,k,p;
intmain()
int ans=0
;
for(int i=0;i<=k;i++)
for(int j=0;j<=n*k;j++)
printf(
"%d\n
",ans);
}return0;
}
bzoj3930 選數 遞推
看了一下popoqqq爺的莫比烏斯反演,果斷棄療。還是寫遞推好,又短又快。令f i 表示當數不全相等時 為什麼如此,後面再說 最小公倍數為i k的方案,那麼 首先,當公倍數 注意不是最小 為i k時,總方案數x n x,其中x表示l r中i k的倍數,再減去重複的方案 u 2,i k u r l f...
BZOJ 3823 定情信物 遞推
題目大意 定義點為零維元素,線為一維元素,面為二維元素,空間為三維元素,以此類推,求n維立方體中各維元素都有多少 令f i j 為i維立方體內j維元素的個數 考慮n維立方體中的i維元素,將n維立方體拓展至n 1維空間時 覺得抽象的可以想象平面擴充套件成立方體 原先的i維元素增加了一倍,同時原先的i ...
bzoj1212 L語言 遞推 Tire
這道題目寫得好暴力可能都能過吧 亂說的別理他 大概用tire做到o n len 其中len表示乙個單詞的長度。實際上也非常好寫,如果用刷表法也就30行 一不小心把tire開大了mle了一下然後差點刷到第一頁 這也能拿出來說,就這點出息 ac 如下 include include include de...