HDU 5047 推公式 別樣輸出

2022-02-14 00:14:17 字數 597 閱讀 4284

題意:給n個『m'形,問最多能把平面分成多少區域

解法:推公式 : f(n) = 4n(4n+1)/2 - 9n + 1 = (8n+1)(n-1)+2

前面部分有可能超long long,所以要轉化一下,令a = 8n+1, b = n-1,將兩個數都化為a1*10^8+b1的形式,則

(a1*10^8+b1)(a2*10^8+b2) =(a1a2*10^8 + a1b2 + a2b1)*10^8 + b1b2 + 2,由於a1,a2最多2為10^4左右,中間的數就都不會超過long long 了,先列印出前面,再打8位的後面即可。

**:

#include #include 

#include

#include

#include

#define lll __int64

#define ll long long

using

namespace

std;

intmain()

else

printf(

"%i64d\n

",ans2);

}return0;

}

view code

hdu 5047平面分割

題目大意 給n條樣子像 m 的折線,求它們能把二維平面分成的面最多是多少。解題思路 我們發現直線1條 2平面 2直線 4平面 3直線 7平面.因為第n條直線要與前面n 1條直線都相交,才能使分的平面最多,則新增第n條直線,平面增加n個 所以公式是面f 2 2 3 n 1 n n 2 1 因為題目的是...

hdu 5047 大數 平面區域劃分公式

首先吐槽一下,這道題的時間卡得真是醉了.首先見到這個問題,我們應該先想到直線的平面劃分公式,f n 1 n n 1 2 如何理解這個公式呢 有一條直線時,將乙個平面區域劃分為兩塊,之後每在加一條直線,獲得最大劃分區域的方法就是讓每條直線兩兩相交且不重合.如果當前直線是第i條,那麼它可以和之前的i 1...

hdu 5047 大數找規律

找規律信kuangbin,能ac include include include include include include include include include include include include using namespace std 完全大數模板 輸出cin a 輸出...