JZOJ2938 分割田地 DP

2022-09-03 04:42:08 字數 2665 閱讀 9526

題目:

給出2×n2

×n的矩陣,求有多少種方案可以把這個矩陣分割成mm塊。

很明顯是dpd

p啊。設f[

i][j

][0/

1]f[

i][j

][0/

1]表示選到第i

i列,有j

j個聯通塊,這一列的兩個格仔是否分在同一塊(0表示不是,1表示是)的方案數。

那麼我們分情況來看。

第ii列不同塊,比第i−1

i−1列多出兩個塊,所以f[

1]然後將這幾個方程和在一起就可以了。

#include

#define n 1100

#define mod 100000007

using

namespace std;

int f[n]

[n*2][

2],n,m;

void

plus

(int

&x,int y)

intmain()

printf

("%d\n"

,(f[n]

[m][0]

+f[n]

[m][1]

)%mod)

;return0;

}

千分位分割

格式化數字 67235943 為貨幣金額顯示方式 67,235,943要怎麼做,這是暫時不考慮有小數的形式 採用正則替換,呼叫字串replace方法 67235943 replace d d g,1,如果有小數部分,如 67235943.4687 此時如果只格式化整數部分,採用上面的正則,不過要稍微...

2 4 分割鍊錶

template typename t singlylinkednode partition singlylinkednode head,t partition singlylinkednode newhead head singlylinkednode newtail head singlylin...

86 分割鍊錶

給定乙個鍊錶和乙個特定值x,對鍊錶進行分隔,使得所有小於 x 的節點都在大於或等於 x 的節點之前。你應當保留兩個分割槽中每個節點的初始相對位置。示例 輸入 head 1 4 3 2 5 2,x 3 輸出 1 2 2 4 3 5 思路 用兩個鍊錶分別存小於x和大於等於x的元素,然後連線兩個鍊錶。de...