Codeforces Round #243 (Div. 1)——Sereja and Squares
生活随笔
收集整理的這篇文章主要介紹了
Codeforces Round #243 (Div. 1)——Sereja and Squares
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接
- 題意:
給n個(gè)點(diǎn),求能組成的正方形的個(gè)數(shù)。四邊均平行與坐標(biāo)軸
- 大神的分析:
經(jīng)典題
我們考慮每一種x坐標(biāo),顯然僅僅有<= sqrt{N}個(gè)x坐標(biāo)出現(xiàn)了> sqrt{N}次,我們稱這些為大的,其它為小的。
我們先考慮大的x和其它x之間的答案,先O(sqrt{N})枚舉一個(gè)大的坐標(biāo),然后for其它的每一個(gè)點(diǎn),這樣能夠依據(jù)x坐標(biāo)的差算出正方形的邊長,hash檢查一下就能知道這個(gè)正方形是否存在。
之后考慮小的x和小的x之間的答案,注意到我們能夠?qū)γ恳粋€(gè)橫坐標(biāo)直接平方for,這樣僅僅有(sqrt{N})^2 + (sqrt{N})^2 + ... + (sqrt{N})^2 = N^1.5的枚舉量,之后也能夠hash檢查。
O(N^1.5)
轉(zhuǎn)載于:https://www.cnblogs.com/liguangsunls/p/6795527.html
總結(jié)
以上是生活随笔為你收集整理的Codeforces Round #243 (Div. 1)——Sereja and Squares的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四大算法解决最短路径问题(Dijkstr
- 下一篇: 中奖人员信息向上滚动