牛客Wannafly挑戰賽27 A 灰魔法師

2021-08-30 06:43:23 字數 919 閱讀 4828

感謝大佬%%%

↑↑↑↑↑↑↑↑↑↑

講解非常仔細

做題的時候也有想過去打表,然後就沒有了,

還是沒有找到其中的規律。。。。

這裡補一條完全平方數的定義?

這個數開根號後是整數如:9,25,36…

因為題目資料是1e5,所以兩個數相加也只有2e5,從1到2e5滿足條件的完全平方數個數也只有400+,就用乙個陣列去記錄下來,然後for迴圈把給出的序列先標記一遍,再從已知的完全平方數里挨個for一遍找到:

完全平方數 減去 a[i]得到乙個數,這個數是否存在所給序列中

存在的話就會出現兩種情況:

如2 2 2這種情況就有三種方案 其實就是組合數的公式,

(n個數里選兩個):n×(n-1)/2;

如1 1 3 3這裡就會重複計算,因為起初是從1開始去找3,在3的時候又去找1,所以ans/=2;

大概就是這樣了

**是dalao那搬運的

#include #define ll long long

using namespace std;

ll vis[100010],n,a[1010],pos,ans1,ans2;

ll ans;

int main()

ans1=ans2=0;

ll tmp;

for(ll i=1;i100000)continue; //不合法範圍

if(tmp<=0)break; //不合法

if(vis[tmp])}}

ans1=ans1+ans2/2;

printf("%lld\n",ans1);

}return 0;

}

牛客網Wannafly挑戰賽27 A 灰魔法師

white shores,and beyond.a far green country under a swift sunrise.灰魔法師 給出長度為n的序列a,求有多少對數對 i,j 1 i j n 滿足 ai aj 為完全平方數。第一行乙個整數 n 1 n 105 第二行 n 個整數 ai 1...

牛客Wannafly挑戰賽12 題解

傳送門 說是比賽題解,其實我只會前三題 後面的一定補 t1題意,在乙個長度為n的時間內,問如何選擇存款期限,使得收益最大。dp include include include include using namespace std define fi first define se second d...

牛客網Wannafly挑戰賽27部分題解

number1 求完全平方數的個數 white shores,and beyond.a far green country under a swift sunrise.灰魔法師 給出長度為n的序列a,求有多少對數對 i,j 1 i j n 滿足 ai aj 為完全平方數。這個題暴力求肯定會超時。知道...