2020牛客寒假演算法基礎集訓營1 A題

2021-10-02 13:56:09 字數 1319 閱讀 1893

傳送門

這道題就是分類,避免重複

寫這道題的時候我和我的dad的對話:

part1:

dad:你在幹什麼

me:我在畫三角形

dad:你這樣話的出來?正常都要用不同顏色的筆區分呀,這叫做分類

me:你說對了,這道題就是分類

dad:(邪魅一笑)

part2:(對話基礎為昨天)

me:你說今天晚上有一場比賽我打不打

dad:(無言)

me:(思考一會兒),欸,算了,還是不打了,明天早上起來再寫,免得掉分

dad:(笑出了豬叫聲),你說你幾十分鐘寫三個題也好意思,不掉分才怪

me:???emmm…

(好了,回歸正文)

我們設輸入資料的m,n中m為x軸,n為y軸

「好三角形」在座標軸中分為兩種:

1.兩邊都平行於座標軸

這種情況只需要找到12的矩形有幾個即可,乙個12的矩形有4個符合要求的"好三角形"

計算式:4 * ((n - 2) * (m - 1) + (n - 1) * (m - 2))
2.只有一邊平行於座標軸

(此種情況又分為四種小情況)

1)一邊平行於x軸,底為2,高為1,排除兩邊平行於座標軸的情況

計算式:(2 * (n - 1) * (m - 2) % mod) * (m - 2)
一邊平行於x軸,底為1,高為2,排除兩邊平行於座標軸的情況

計算式:(2 * (n - 2) * (m - 1) % mod) * (m - 2)
一邊平行於y軸,底為2,高為1,排除兩邊平行於座標軸的情況

計算式:(2 * (n - 2) * (m - 1) % mod) * (n - 2)
一邊平行於y軸,底為1,高為2,排除兩邊平行於座標軸的情況

計算式:(2 * (n - 1) * (m - 2) % mod) * (n - 2)
最後記得每次計算完都要求餘mod哦~

廢話廢完啦,上**~

#include using namespace std;

const int mod = 1000000007;

typedef long long ll;

ll n, m;

int main()

2020牛客寒假演算法基礎集訓營

長期更新,補完為止 2 g 判正誤 題意 t組資料。判斷a d b e c f是否等於g。1e9 a,b,c,g 1e9,0 d,e,f 1e9。保證不會出現指數和底數同為 0 的情況。思路 硬算會tle或mle。快速冪取模,為了增加過題概率,多取幾個模數判斷。includeusing namesp...

2020牛客寒假演算法基礎集訓營1

找規律,推公式 三角形個數為2 m n m n m 1 n 1 2 m n mn m 1 n 1 2 m n mn m 1 n 1 include include include include using namespace std typedef long long ll const int m...

2020牛客寒假演算法基礎集訓營1

h題 突然發現h題可以用好多種方法做的。方法一 雙指標,維護乙個修改次數小於等於k的區間 include using namespace std typedef long long ll const int mod 1e9 7 const int n 1e5 5 const int inf 0x3f...