洛谷P2789 直線交點數 數論,遞迴

2022-04-30 09:09:12 字數 611 閱讀 7574

題目傳送門

平面上有n條直線,且無三線共點,那麼這些直線能有多少不同的交點數?

乙個正整數n

乙個整數表示方案總數

輸入 #1

4輸出 #1

5n<=25

分析:給定你$n$條直線,如果其中有$i$條平行,其他的不平行,那麼交點數就是$(i*(n-i))$+($n-i$條直線的交點數)。那麼我們就可以遞迴求出$n$條直線所有可能的方案(因為$n$很小),然後記錄方案數就行了。

其實也就等價於把這$n$條直線分成若干個平行的直線組,然後一組一組的加上交點數。

code:

//

it is made by holselee on 16th aug 2019

p2789

#includeusing

namespace

std;

intn,ans;

bool vis[50005

];void dfs(int now,int

num)

for(int i=now; i>=1; --i) dfs(now-i,i*(now-i)+num);

}int

main()

洛谷 P2789 直線交點數

題目描述 平面上有n條直線,且無三線共點,那麼這些直線能有多少不同的交點數?輸入格式 乙個正整數n 輸出格式 乙個整數表示方案總數 輸入輸出樣例 輸入 1 4輸出 1 5說明 提示 n 25 很簡單的一道題,居然沒想出來。一直在想著怎麼把通項或者遞推公式直接求出來,其實不用,n 25完全都可以搜尋了...

洛谷 P2646 數數zzy

zzy自從數學考試連續跪掉之後,上數學課就從來不認真聽了 事實上他以前也不認真聽 於是他開始在草稿紙上寫寫畫畫,比如寫一串奇怪的字串。然後他決定理 性 愉 悅 一下 統計這串字串當中共有多少個為 zzy 的子串行 注意是子串行而非子串 但是由於他寫的字串實在是太長啦,而且他是個超級大蒟蒻,根本就數不...

洛谷P3413 萌數 數字dp

給出兩個len 1e3 len leq1e3 len 1e 3的數字串,然後求問兩個數字之間有多少個萌數,萌數的定義是存在長度至少為2 22的回文子串。答案對1e9 7 1e9 7 1e9 7取模。正難則反 計算不是萌數的個數,由高位往低位列舉,記錄下這一位的前一位和前兩位,保證當前位和前一位以及前...