日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JZOJ 3129. 【WinterCamp 2013】数三角形

發布時間:2025/3/15 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JZOJ 3129. 【WinterCamp 2013】数三角形 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

在一只大灰狼偷偷潛入Farmer Don的牛群被群牛發現后,貝西現在不得不履行著她站崗的職責。從她的守衛塔向下瞭望簡直就是一件煩透了的事情。她決定做一些開發智力的小練習,防止她睡著了。

想象牧場是一個X,Y平面的網格。她將N只奶牛標記為1…N (1 <= N <= 100,000),每只奶牛的坐標為X_i,Y_i (-100,000 <= X_i <= 100,000;-100,000 <= Y_i <= 100,000; 1 <= i <=N)。然后她腦海里想象著所有可能由奶牛構成的三角形。如果一個三角形完全包含了原點(0,0),那么她稱這個三角形為“黃金三角形”。原點不會落在任何一對奶牛的連線上。另外,不會有奶牛在原點。

給出奶牛的坐標,計算出有多少個“黃金三角形”。

Input

  • 第一行:一個整數N

  • 第2到第N+1行:每行兩個整數X_i,Y_i,表示每只牛的坐標

Output

  • 第一行: 一行包括一個整數,表示“黃金三角形的數量”

Sample Input

5
-5 0
0 2
11 2
-11 -6
11 -5

Sample Output

5

Hint

考慮五只牛,坐標分別為(-5,0), (0,2), (11,2), (-11,-6), (11,-5)。

下圖是由貝西視角所繪出的圖示。

............|........................*..........*.............|............-------*----+------------............|........................|........................|........................|........................|..........*..*..........|........................|............

Solution

  • 正難則反,總組合數為 C3n ,只要求出不過原點的三角形個數即可。

  • 現將每個點進行極角排序(以原點為頂點、兩邊分別為 x的正半軸 和 原點與這個點的連邊)

  • 按角從小到大枚舉,統計連續的一段,使得組成的三角形不包含原點,則該段可以兩兩匹配。

  • 判斷其是否包含原點,只需要判斷兩向量的叉積是否大于0即可(大于0則不包含)。

  • 時間復雜度為 O(N?log?N)

Code

#include<cstdio> #include<algorithm> #include<cctype> #include<complex> using namespace std; typedef long long LL; typedef complex<LL> point; const int N=1e5+2; point a[N<<1]; inline int read() {int X=0,w=0; char ch=0;while(!isdigit(ch)) w|=ch=='-',ch=getchar();while(isdigit(ch)) X=(X<<3)+(X<<1)+(ch^48),ch=getchar();return w?-X:X; } inline bool upper(point x) {return x.imag()>0 || !x.imag() && x.real()>0; } inline LL cross(point x,point y) {return x.real()*y.imag()-x.imag()*y.real(); } inline bool cmp(point x,point y) {bool xx=upper(x),yy=upper(y);if(xx && !yy) return true;if(!xx && yy) return false;return cross(x,y)>0; } int main() {int n=read();for(int i=1;i<=n;i++) a[i].real()=read(),a[i].imag()=read();sort(a+1,a+1+n,cmp);LL ans=n*1LL*(n-1)*(n-2)/6;for(int i=1;i<=n;i++) a[i+n]=a[i];for(int i=1,j=1;i<=n;i++){while(j<i+n-1 && cross(a[i],a[j+1])>0) j++;ans-=(j-i)*1LL*(j-i-1)/2;}printf("%lld",ans);return 0; }

總結

以上是生活随笔為你收集整理的JZOJ 3129. 【WinterCamp 2013】数三角形的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产成人精品免费 | 不卡成人 | 鬼灭之刃柱训练篇在线观看 | 亚洲av激情无码专区在线播放 | 天天干夜夜干 | 精品久久一 | 亚洲骚| 日本高清中文字幕 | 好邻居韩国剧在线观看 | 一区二区三区视频免费看 | 五月天亚洲综合 | 国产破处视频 | 久久久综合久久久 | 91热在线 | 99精品视频在线看 | 插插插干干干 | 丰满尤物白嫩啪啪少妇 | 久久久99精品免费观看 | 欧美亚洲精品一区二区 | 国产偷国产偷av亚洲清高 | 风韵丰满熟妇啪啪区老熟熟女 | 国产制服91一区二区三区制服 | 国产精品av在线播放 | 熟女视频一区二区三区 | 国产精品一区二区视频 | 性感美女高潮 | 国产一区二区视频播放 | 无码人妻精品一区二区蜜桃网站 | 在线观看9.1 | 久热草| 日韩免费视频网站 | 亚洲精品色 | 97精品人妻一区二区 | 国产一区二区三区在线观看免费 | 亚洲精品男人天堂 | 91中文视频 | 小辣椒导航 | 国产美女菊爆在线播放APP | 久久精品国产精品亚洲毛片 | 亚洲免费av一区 | 亚洲国产精品一区二区三区 | 少妇愉情理伦片bd | 三级视频小说 | 有码中文 | 亚洲伦理精品 | 国产精品人人爽 | 色91在线 | 久久综合中文 | 黄色片地址 | 亚洲第一色播 | 成人午夜影院在线观看 | 成人在线视屏 | av永久| 曰批女人视频在线观看 | 99久久99 | 成人欧美激情 | 6080av| 无码精品国产一区二区三区 | 秋霞7777鲁丝伊人久久影院 | 三级黄色片免费观看 | 久久久久久综合 | 免费a级片在线观看 | 国产片淫乱18一级毛片动态图 | 看一级片 | 免费在线视频你懂的 | 久久久久中文字幕亚洲精品 | 国产黄a三级三级三级 | 国内自拍小视频 | 少妇第一次交换又紧又爽 | 日本成人在线网站 | 999视频在线观看 | 宅男噜噜噜66一区二区 | 日日骚一区二区 | 激情影音 | 黄色国产一级片 | 久久久无码人妻精品无码 | 男人久久 | 国产一区二区三区高清视频 | 国产精品成人国产乱 | 另类性姿势bbwbbw | 丝袜老师扒开让我了一夜漫画 | 欧美黄色一级视频 | 妹子干综合 | 拍国产真实乱人偷精品 | 性欧美lx╳lx╳ | 九色在线观看 | 久久99精品久久久久婷婷 | 欧美com| 国产精品久久久久精 | 漂亮人妻被黑人久久精品 | 日韩有码在线播放 | 一道本久久 | 色老大影院 | 国产51自产区 | 日韩一区在线免费观看 | 天天躁狠狠躁 | 可以看的av网站 | 免费观看黄色小视频 | 大学生av|