D Perfect Groups 思維好題

2021-09-17 01:41:36 字數 938 閱讀 4080

一道挺不錯的題目。定義乙個陣列的答案:將這個陣列分成k組,每組裡面任意一對數字乘積都是平方數,k要最小。題目給出乙個n個長度的大小,要你求每個子陣列的答案,最後輸出答案為1.,2,3…n的子陣列各有多少個。

n最大是5000,子陣列個數是n*(n+1)/2,n平方也是沒問題的,因此我們只要考慮,如果o(1)的處理 乙個子陣列。先證明乙個東西,假設a∗b

==d2

,b∗c

==e2

,ac∗

b==d

∗e,那

麼a∗c

必然是平

方數

a*b==d^,b*c==e^,\sqrt*b==d*e,那麼a*c必然是平方數

a∗b==d

2,b∗

c==e

2,ac

​∗b=

=d∗e

,那麼a

∗c必然

是平方數

這個說明,只要兩兩有關係的數字,都可以加入到同乙個組,關係是可以傳遞的。因此我們可以先預處理出對於每個j,在iusing namespace std;

typedef long long ll;

typedef pairpii;

typedef vectorvi;

#define rep(i,a,b) for(int i=(a);i<(b);i++)

#define fi first

#define se second

#define de(x) cout<<#x<<"="<=(a);--i)

const int n=2e5+5;

ll a[n],ans[n],mx[n];

int main()

} } rep(i,1,n+1)

} rep(i,1,n+1)

printf("%i64d ",ans[i]);

return 0;

}

思 說文解字

說文解字 裡說 思,容也,從心囟聲。我們過去都以為思的上半部分是個 田 其實不是。從篆文本形來看,上半部原來是囟門的 囟 我們知道,剛出生的嬰兒,顱骨上方有一塊尚未完全閉合的地方,那個地方就是囟門。說白了,就是頭腦加心靈共同工作的狀態,才叫有所思。大家或許會問 你說 從心囟聲 囟門這個 囟 跟我們今...

寫For時請三思再三思

昨天寫了這樣一段處理xml的 處理系統返回的結果,最後居然導致系統死慢死慢的,我百思不得其解,到底是document類處理的問題呢?還是資料過多?private void formatresults condition condition catch xpathexpressionexception...

《思修》監考感悟

今天下午大一的學生在機房進行了期末的思修考試,我也身擔乙個重要的職務 監考人員,第一次進行上機考試,考試系統是我們提高班的學生做的,期間很可能會出現一些意想不到的問題。下面說說考試期間遇到的問題。考試之前雖然一再的強調不要重新整理 瀏覽器等一些操作,以影響自己的成績來震懾他們,但是最後發生的問題還是...