Skip to content
Logic Formatting

Logic Formatting

D. Number of Parallelograms 解析(幾何)

Posted on 2025 年 1 月 11 日 By jeff

Codeforce 660 D. Number of Parallelograms 解析(幾何)

今天我們來看看CF660D
題目連結

題目
給你一些點,求有多少個平行四邊形。

前言

a

想法

注意到,只要有兩個等長的平行邊,那我們就找到了一個平行四邊形了。
所以只要用一個$map$紀錄每個線段出現的次數,且每次加入一個線段(我們枚舉線段)時,先把答案加上目前有多少等長平行線段,最後答案除以二就行了。

程式碼:

const int _n=2010;  
int t,n,x,y;  
vector<PII> ps;  
map<PII,int> cnt;  
ll ans;  
main(void) {ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);  
  cin>>n;rep(i,0,n){cin>>x>>y;ps.pb({x,y});}  
  rep(i,0,n-1)rep(j,i+1,n){  
    PII v={ps[j].fi-ps[i].fi,ps[j].se-ps[i].se};  
    if(v.fi<0)v.fi=-v.fi,v.se=-v.se;  
    if(v.fi==0 and v.se<0)v.se=-v.se;  
    ans+=cnt[v]; cnt[v]++;  
  }cout<<ans/2<<'\n';  
  return 0;  
}  

標頭、模板請點Submission看
Submission

ojcode codeforceojcode幾何

文章導覽

Previous post
Next post

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

近期文章

  • B. Kyoya and Permutation 解析(思維、數論、DP)
  • G. Guess One Character 解析(思維)
  • E. The Road to Berland is Paved With Good Intentions 解析(思維、2-SAT、SCC、拓樸排序)
  • E. Xor-sequences 解析(思維、矩陣快速冪)
  • LeetCode. First Missing Positive 解析(思維)

近期留言

尚無留言可供顯示。

彙整

  • 2025 年 2 月
  • 2025 年 1 月

分類

  • ojcode
©2026 Logic Formatting | WordPress Theme by SuperbThemes