妖夢拼木棒

2022-09-09 00:57:18 字數 875 閱讀 9352

上道題中,妖夢斬了一地的木棒,現在她想要將木棒拼起來。

有n根木棒,現在從中選4根,想要組成乙個正三角形,問有幾種選法?

第一行乙個整數n

第二行n個整數,a1,a2,……an(0

一行乙個整數,對1e9+7取模

輸入 #1

4 1 1 2 2

輸出 #1

1

對於30%的資料 n<=5000

對於100%的資料 n<=100000

by-szc

【解題思路】

4個木棒拼正三角形,就是2根一樣長的和另外2根拼起來

木棒長度最大5000,可以用乙個桶存下

列舉兩根短的木棒的長度就可以了

【code】

1 #include 2 #include 3 #include 4

using

namespace

std;

5const

int mod=1000000007;6

int n,ans,maxn=-1

<<30;7

int a[100005

]; 8

int cnt[5005

];9 inline int c1(int

x)12 inline int c2(int

x)15

intmain()

22for(register int i=1;i<=maxn;i++)31}

32}33 printf("

%d\n

",ans%mod);

34return0;

35 }

暴力列舉 妖夢拼木棒

上道題中,妖夢斬了一地的木棒,現在她想要將木棒拼起來。有 n 根木棒,現在從中選 4 根,想要組成乙個正三角形,問有幾種選法?答案對 109 7 取模 第一行乙個整數 n。第二行 n 個整數,第 i 個整數 ai 代表第 i 根木棒的長度。一行乙個整數代表答案 輸入樣例 41 1 2 2 輸出樣例資...

P3799 妖夢拼木棒

有 nn根木棒,現在從中選 4 根,想要組成乙個正三角形,問有幾種選法?答案對 10 9 7取模。輸入 第一行乙個整數 n。第二行 n 個整數,第 i 個整數 a i,代表第 i 根木棒的長度。輸出 一行乙個整數代表答案。主要是對長度進行計算和處理 因為ai的數值偏小。注意 using namesp...

妖夢斬木棒

顯然,大概率是用線段樹維護區間資訊。考慮區間合併 每次合併的時候我們只關注左區間靠右的第乙個非x符號和右區間的靠左第乙個非x符號。然後我們維護一下即可,不過我們要注意如果當前區間只有乙個非x字元,那麼合併之後就沒了。ac pragma gcc optimize ofast funroll all l...