藏妹子之處(excel)

2022-05-01 06:00:11 字數 1093 閱讀 4481

問題描述:

今天czy又找到了三個妹子,有著收藏愛好的他想要找三個地方將妹子們藏起來,將一片空地抽象成乙個r行c列的**,czy要選出3個單元格。但要滿足如下的兩個條件:

(1)任意兩個單元格都不在同一行。

(2)任意兩個單元格都不在同一列。

選取格仔存在乙個花費,而這個花費是三個格仔兩兩之間曼哈頓距離的和(如(x1,y1)和(x,y2)的曼哈頓距離為|x1-x2|+|y1-y2|)。狗狗想知道的是,花費在mint到maxt之間的方案數有多少。

答案模1000000007。所謂的兩種不同方案是指:只要它選中的單元格有乙個不同,就認為是不同的方案。

輸入格式:

一行,4個整數,r、c、mint、maxt。3≤r,c≤4000, 1≤mint≤maxt≤20000。

對於30%的資料,  3r, c70

輸出格式:

乙個整數,表示不同的選擇方案數量模1000000007後的結果。

輸入輸出樣例:

輸入樣例

3 3 1 20000

3 3 4 7

4 6 9 12

7 5 13  18

4000 4000  4000  14000

輸出樣例

做法很簡單,找規律即可。

大概做了乙個小時,正常耗時。

**實現:

1 #include2 #include3

#define mod 1000000007

4using

namespace

std;

5long

long

n,m,l,r,ans;

6long

long a[8010],b[8010];7

intmain()

本題我的方法應該不是正統的正解,正解應該是根據九宮格的特點推廣。

luoguU48574 藏妹子之處

題目鏈結 首先,因為這是曼哈頓距離,所以很容易就可以將這三個點之間的距離轉化為乙個矩形,那麼這三個點在矩形上的分布只有六種可能。假設當前矩形的長為n,寬為m。那麼可以發現,無論是哪一種情況,這三個點在這個矩形裡的擺放方案都是 n 2 m 2 並且這些擺放方案與這個矩形的位置無關,所以可以先不考慮位置...