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