题意:

    给出平面上n个点,问能在其中选出6个点,组成两个三角形,使得其互不相交

    问有多少种选法

  大致思路

     考虑枚举一条直线,将所有得点分为左右两部分,其中有两个点在直线上,

    以这两个点为顶点,分别统计左边有多少个三角形,右边有多少个三角形即可。

    枚举直线时,枚举一个点,然后对其他点极角排序,
    枚举另一个点,可快速算出该直线左右两边的点的数量(二分,叉积),组合一下即可。

    

  1 /*
  2 :    .
  3 :
  4 i
  5 i    .
  6 i
  7 :    .
  8 i    .
  9 i    .
 10 i
 11 :        .
 12 i  .  i  i :     . .    .   .     .       . .           ..    .                                   .          .
 13 .     .  . .       .                      .   .      .                                                          .
 14 :   qQ  .   v2d   .  i: ..:ij.iBE .i            EBj        .irrivri.::iiiir7r.                       .    SPd.  :
 15 i  UQB    .BBBBE     BBBQBBBBLiBB.1BBi    :X:   BBu    .   .KBBBBBBBBBBBBBBBQv                          :BBBBB
 16 . iBY PD. BBY vBBv.  ..:gB1   rBM  7B1    RQP   MBgvPPQBB          uRq.        ..                 .    jBBQ.BBBr
 17 :.BBrQBBBBBL   iQBB7:777gBSYvrKBBv:v71r..YPBBBBBBBBBBEBBB    7RBZQdBBBdEgBQE                         1QBB1   QBBB:
 18 .:BBBBJ.qBBDBBBBBBBvrQBQBBBBBBBBBBBBBgg5UBBBBriiBQ1   rBB  .:.:i. :KQBi ..::    :.. . . .   .....  UBBB5  UJ: rBBBBXi
 19 .  IQY     i:.:..       YBs   :BB   IE.   XBZ   QBs   7BB  rBBBBQBBBBBBBQBBBBq BQBBBBBBBBBBBBBBBBviBBE.  .BBZ   .BBgi.
 20 . BBBQSJ.Kb5BQgRBPv :5gQBBBQBB:YBvrBBd    QBE   BBdiBBBB5      .BB     uBs     iririiiriir7iii77i. ii    .BBD  .
 21 . uQ5Sv .BB::i::QBU  BBQMBK.   7BBBP.     DBq   QB1 DQ7.L. sBBdQBBMBBBQBBBBBQDi                           BB5
 22 .    ...:BB     KBJ     uB1   UBBBL  QBL  RQb   i:.     BBPvi.UBBuY7v7iQBqrrur.                           BBE   .
 23 :LBBBBBBJQBBBBQBBBJ  :rvBBu:BBB1jBBPbBB   SBBZIvSUguJXRBBB:  7QBB      BBu     ..                         BBQ
 24 r.XX... .QBIYXDJBB1  qBBBBi ir   rMQBQ.   .sPBBBBBBBBRBBD7  XBBi       dB1. .  ..                        .BBg
 25 i                .                   .                           . . .         ..                         ... .
 26 :
 27 i    .                                                                   .
 28 i
 29 i    .
 30 i                                                                         :r:.
 31 i    .                                                                .  vKKSj. .
 32 r                                                                 ..    :B: js  .
 33 i    .                                                             .    rK .S:                 :::
 34 r                                                                       :v LS             .  ibi7gv   .
 35 i                                                                       :Ligi               .QJ :g7  .
 36 .      ...5d:  .                                                        i2Sd               rb. vj:      .
 37 .   .7:r27DBi                                                      .    .Bb:     .        7K..Ps
 38 uij1Pdr.  ri                                                       .     Sq              :Kj7Ii .  .     :v:
 39 UvY:     7P. .                                                     .     .7             .vIqX. ..  .    .dBRS7.
 40 .    .   qP     . .       .  ..                                       .     .  ..        :r.            .qi :2ZPi
 41 .    .   gs     .    .:K2  .          .irvIs75K5XEKMKgZsD522YLri.              iBB1i                     Pr   .2r
 42 i       iS:        .isjjQ.    .:rs5KPPMBBBZdBBgi:7Rd7XBBBRSMBBDZQZSr.        rDYiiYdQSr.                 dY
 43 :       Ys      .iXbi.  7: 7v5gQZqPEKXUIjUIdbr   ur    jRQr1E:  .rJgBBDL:   iEv     .sdD5Yi.             MX  .   .
 44 i       Si   .vU57i   .ibQBBgMPI175XUvsq5LBj   :Li.     jQLJ:  .    .rdBBQsYL           :r1ISv:         .gu    .
 45 :   .. iU  r5Qu.   :sBBD7qDqbbijPj5ISXv22UK   .BY .     .gSP: .q:      rBBBBS    .   .      .7KEYi.      qv    .
 46 .      qBsY1i   :IqBZqI2rUXLXQPrYjIuED2jZPv.  KI .  .    .BR. rd        .bBUBQu.          .    .isZK1:   5s
 47 :      vPv.  .idDBEP1XYKXQR1r5d2SdPqEDv7IEY  Yv    .      KB.:U.  :Ui    .BJUBBB1        .         rXqIrrB2    .
 48 v           rQDM1dj7SM1qIuPgXJKS2sKU5urLDMr :Bi   .  .dBMi7BPYJ 1PKL:     BjKIUPBB1       .       .   :irMX
 49 i  .     .vKDDr1YREIPgv1qS1Qbju1IS2US5vUZBu sr .    :BBBBdXMDMgjv.   :    guJsP7rQgU:                    JdrsSv:
 50 7       rQREJ5u2vuKv5dXKKPXqqXK1PSSqP2USqqBDj    .  7QBQRPQriQg:..v7i:.   MqEXBs72DQB:              .iYYr..iPRJ
 51 7  .  .MRB221QqKrYSSXdXXuBZuSguL1sPMDQQDPPgBi    .  :RBBMB5  PELBBBj     vP.  irRBgRPEv           .Ju7ivv7vLi.   .
 52 :    7DQUdSPqgIqUsKSYv5Si2PrruJSBZR5r::   :Z:        .irvX::qPPZMBBQgs  .Xs      LPuXBBi         :Dd2rLsr.      .
 53 i   YBZ7Lg2bUPLb172Xr7PQvJuuuMBbX7.       .uRu.         :QEBQRRBZgggQBSrY.         :SQQX         :27:.       .
 54 i .EP2PX1qJYIPuu5I2g2uB5YXbDZPJ   .rr.  .   7gZU7r7vYvvvJqBQRBMdgDMgBQQr            r5BBr
 55  .gB2LgEsPPuKE2IrM5Iu1U2JXgS.     :7vvvsYLL7. .rs77JJr.  JBQDBbdEZBRgBP      . .YIUvirvBQ:   .
 56 XQQSqgDJ7qg5bPXqLd1bQ2JQB2.              ..:7Lv7:        iBQSREEBQQRBP:     iSPL7.     rBu
 57 QgUjEE2qJbKsjX2duqYKr5BS.      ..             .rYr.       dBQBZBQBKgM. .  rZ2:          jEi
 58 vJdPIJI5UPSYKb5uLbLSDEu       .                            :BBgBPEBr  .  ....         . iBK.
 59 YvLb7K5L7ubsjgJuuSsPQ7  .....:iiirr77v7vrv1PXU77rr::.            :E.  .           .. ..  sgi
 60 LuKQrsSd5XQPqSij7bBu    :ivu5J7i::::::::::i::.::iri..            :Ei.     ..i715qLPdUqS. iBi     .
 61 7UPBv2IPqP1IdXLZZPr   .                                .         .sY       .ir:.     ..  .QE  ..
 62 UsJRubSv7ggUJr1Qg:                             ..                 r5                      vd.
 63 d5YPrSqX7QIvPRBX.  .  .            ..:i777r7vJvr:      .         .rZ  .                 .iE5rr
 64 2LKXj2E17DjSMSQi          ..ii7uqS522J7:.....              ..     7Z.    .  .75Y::.  7KdBZEXXBQ:
 65 r7PQqdEjJEPJuZJ       iIPK1j7:.:.         .:i:......              :P        .iLuvPSsXQbr     .JBP
 66 sLPP1uqs2XR7JQ:       .:i.        .:71ZBBBQEDDMbdMBBBdui:         rZ.               .          bB.
 67 UUqK7vSIv5PuDg                .YdQBBBBQBMESJ777s1bPdEgRQBBRUi.    .5       .                  .gq
 68 vLZPvvbKLdSIBv          .   1MBRQBBBMEbZPvgBRJrLY7Uj2J7rvPDQBBgUY722            ...       ..  iBJ
 69 irIKvUPI7M1SRi     .  .   7BB1JUvSd1Y512IYSBMKLPv1XirsivvUKgDgBBBBBBKr:.                  ..  uE.
 70 D2KIJ5D17EPdd.  .        qBJv.ivivYi7JvrLrLEgbbP1PE:71sS5sDq7vDQD2qbgBBBMJi                  rR7
 71 vJPbvJq2YgEQ2           .BP.L7ijIEuiivr7vii1PKgg5dRjXgUSujJ7JgJ7Piru1UKMBBQM2i             .2I:.
 72 vrXP1Xg2vJjbL    .  .   sBBuXI1gBgE2SI7vIrrsIiSISdBSEZ1bggQv7Es:U77YLirugggDBBBgKUJrri:.:7IEP.
 73 XU1UubPuLu7LY    .     :5RBgUBBPPdggBEUdqIKXviuJrYdPPq2PKKBqY1jrj75I1LL7UXZBBdPEQBP7jIIdKSBB.  .
 74 sIDbX5X5KRBSE         .ZXLXI7q57UJ5IRUUZP5KZguivSv1S55bS12BMBjJ7dXBgZIqr7dqMEPBEQQ:       KB7         ...       ..
 75 PU7v5MPJ7KZPD         iBbU7v77:r7irYdIud5KqZPsrs2vYUsJuPP5SLKgQdEEgdPgMX7qvI5DXbMX       :BQ
 76 511sSdZXI51vg.     .  LgXgU77iir5dddBMMBBBP5dP52S2gBQ2vL22RdBQBPQP15SdMR1Jivrr:MBr       SBv   .jDBMbuv:      ..
 77 vU52sujjUEq1E.   . .  2MrBDU5PQBZP7.:..irDQQPdBBRqi.      .:jXQMBPrIjXXBP1iuii.BE       .BX  rSQK:...i1dX7.
 78 KJ1svuqsrEgPK      .  v1rDQDBj:.          .LQBS.              .JBE.r7555RbbK55PBr    .  Kg  7QM.        7BBv
 79 PXdEu5PsLKv5di        7E1dKi                :J.                 :gg1iq1LsQRRYuBP   .r  KQi iBg           .2Q5.  .
 80 IjPP1ID5UJYdBY        rBBS    .                 .                :BErj7YU5ZPdBZ       vBv :Rd              IBi
 81 2UKK7JPXuIgQBb    .    bBi     .         .   .           .        EBPYv7srIKBB       vBr  sBi    .         .B1
 82 vvbb15d5bSPLPB:   .    rB:    ..          .                       :qBKQvYLJRK       iQ2 :ZBBr   .           Rv .
 83 SY57vDIKZLuuKBi        .BB.    .   .                             . bBXgudD5v      .2BBgqqbgBJ   .    ...   .E5
 84 v75vYqPPq5KPjJE:  .     iBBr    .                                 .BMvBQEv:       BBq1EsSQS5Bi  .   .      :BL
 85 vUUs7YuJrXJd7:BP     .   .PQqv:                          ..  .:77juBQJsi        rBQYiJU1JX5PRb:           vBL    .
 86 dZsY55RS1qjdqrBBL          .JPMRP77.   .:.....:.:i7vjuSqEEbXqqquL7. .         .jBQJvdR5vuuuJ5BBq:       isBB  . .
 87 BQ7v1KDu5qYSqsJgQ:             .r7IEPUs11uj25X21JJri::...                    7QB1rPQY2duIQKXZJ7BBdu7:isDZ5:    ..
 88 LYRgsvSUPqX1UUI2Bd.                                                       ii2MEgI7dRSJ1sSBX7SPXsPZBBXr77.
 89  vBB1PBZMQggZDZMXgBBDgMRbbEQQRZPZRPKSPbDRBDKujsuYv25Ys2qSEPDMMddZgZMQBBBgQBQEPsqXJSqsIP52M5UPPsvERZi
 90 s5QgPQBIDMMDgDgDgBBgEBBBBBBQQBBBBQBBBBBQQBBBBBBBBQBBBBBQBBBBBBBBBQBBBBBBBMBQgESDDSEKUPgU2qSqUrPBBv.   .
 91 rrPBBgMDMQRRMQgQDMQBQBMgRQggDgRBBBgZgBBBQBBBBBBBBBBBBBS:     ..vbBBBQBQMbSQQMEYSuLI5uPKv1D77PBBXi      ...
 92 i LdMdKKqqPgZSgd1PZPSLXPXSZZXPZIQZJ5EKdDgMMdqYr.::.:bB:          LBXIQBKPgBquP2PZuUuUSXj5ZqXBB7
 93 i:BP2j:vYs7q5sZI:2uvv7Ss7UYKs51r51rJLjDg7:          .BvPPgX1vrii:2Qi  vBbIMQuZrsDP55uu2XYdBQU:   .
 94 rPBLJ27PXu7SP2QIvSJsPKgYPPisXq1Lg51ZBdr             2Q: .. .qBU.:vbv.  :IQBqiSs2KYLudKv7QQb.
 95 BBXr7P1PXXsPSjD5757YPPE1JJiXPZj7sSQK:                1v     iBu   g7 .   iDBPQsIPuIP7vZB1.                       .
 96 MuiK7uKKj11Pj:S1UbuJXv2JJSKKLU2rSgX  .....:::...::.: .Bd..i.:bj .SB7 .::  KBgMv1gu2KqDBZ:  .:ii:ri::iiirrrviii7i.
 97 */
 98
 99
100
101 #include<cstdio>
102 #include<iostream>
103 #include<cstring>
104 #include<algorithm>
105 #include<queue>
106 #include<set>
107 #include<map>
108 #include<stack>
109 #include<time.h>
110 #include<cstdlib>
111 #include<cmath>
112 #include<list>
113 using namespace std;
114 #define MAXN 10000006
115 #define eps 0
116 #define For(i,a,b) for(int i=a;i<=b;i++)
117 #define Fore(i,a,b) for(int i=a;i>=b;i--)
118 #define lson l,mid,rt<<1
119 #define rson mid+1,r,rt<<1|1
120 #define mkp make_pair
121 #define pb push_back
122 #define cr clear()
123 #define sz size()
124 #define met(a,b) memset(a,b,sizeof(a))
125 #define iossy ios::sync_with_stdio(false)
126 #define fr freopen
127 #define pi acos(-1.0)
128 #define Vector Point
129 #define fir first
130 #define sec second
131 #define it_s_too_hard main
132 const long long inf=1LL<<62;
133 const int iinf=1<<30;
134 const double dinf=1e17;
135 const int Mod=1e9+7;
136 typedef long long ll;
137 typedef long double ld;
138 struct Point{
139     ll x,y;
140     double ang;
141     Point(ll x=0,ll y=0):x(x),y(y) {}
142     Point operator - (const Point &a)const { return Point(x-a.x,y-a.y);}
143 };
144 ll Cross(Vector a,Vector b){ return a.x*b.y-a.y*b.x;}
145 int n;
146 Point o;
147 Vector v1,v2;
148 bool cmp(Point a,Point b){
149     return a.ang<b.ang;
150 }
151 Point p[2050],tp[5050];
152 void I_can_t_solve_it(){
153     cin>>n;
154     ll ans=0,cnt1,l,r,ct;
155     For(i,1,n) cin>>p[i].x>>p[i].y;
156     For(i,1,n){
157         For(j,1,n) {
158             if(j==i) continue;
159             if(j>i) tp[j-1]=p[j]-p[i],tp[j-1].ang=atan2(tp[j-1].y,tp[j-1].x);
160             else tp[j]=p[j]-p[i],tp[j].ang=atan2(tp[j].y,tp[j].x);
161         }
162         ct=n-1;cnt1=1;
163         sort(tp+1,tp+ct+1,cmp);
164         For(j,1,ct) tp[j+ct]=tp[j];
165         For(j,1,ct){
166             if(j>cnt1) cnt1=j;
167             if(cnt1>ct*2) break;
168             while(cnt1-j+2<=ct && cnt1<ct*2 && Cross(tp[j],tp[cnt1+1])>0) cnt1++;
169             l=cnt1-j;r=n-1-l-1;
170             ans+=l*(l-1)*r*(r-1)/4;
171         }
172     }
173     cout<<ans/2<<endl;
174
175 }
176 int it_s_too_hard(){
177     int t=1;
178     iossy;
179     For(i,1,t){
180         I_can_t_solve_it();
181     }
182     return 0;
183 }

View Code

转载于:https://www.cnblogs.com/cjbiantai/p/9521392.html

[CodeForces]CodeForces - 1025F Disjoint Triangles相关推荐

  1. Codeforces 1025F Disjoint Triangles (计算几何)

    题目链接 https://codeforces.com/contest/1025/problem/F 题解 一道挺有意思的计算几何题 qwq 关键在于注意到任何一对不相交的三角形之间,一定有 \(2\ ...

  2. Codeforces Codeforces Round #319 (Div. 2) A. Multiplication Table 水题

    A. Multiplication Table Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/57 ...

  3. Codeforces Codeforces Round #383 (Div. 2) E (DFS染色)

    题目链接:http://codeforces.com/contest/742/problem/E 题意: 有一个环形的桌子,一共有n对情侣,2n个人,一共有两种菜. 现在让你输出一种方案,满足以下要求 ...

  4. [Codeforces]Codeforces Round #460 (Div. 2)

    Supermarket 找最便宜的就行 Solution Perfect Number 暴力做 Solution Seat Arrangement 注意当k=1时,横着和竖着是同一种方案 Soluti ...

  5. [CodeForces]Codeforces Round #432 (Div. 2)

    A. Arpa and a research in Mexican wave 题意 分段函数求值. 题解 $\begin{equation} f(t)= \begin{cases} t&,0\ ...

  6. 解题报告(十八)数论题目泛做(Codeforces 难度:2000 ~ 3000 + )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 繁凡出品的全新系列:解题报告系列 -- 超高质量算法题单,配套我写的超高质量的题解和代码,题目难度不一 ...

  7. Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解(每日训练 Day.16 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #696 (Div. 2) (A ~ E)超高质量题解 比赛链接:h ...

  8. Codeforces Round #712 Div.2(A ~ F) 超高质量题解(每日训练 Day.15 )

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 Codeforces Round #712 Div.2(A ~ F) 题解 比赛链接:https:// ...

  9. Codeforces Round #701 (Div. 2) A ~ F ,6题全,超高质量良心题解【每日亿题】2021/2/13

    整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 目录 A - Add and Divide B - Replace and Keep Sorted C ...

最新文章

  1. CentOS通过DNSpod实现动态域名
  2. 杭电OJ1069java实现
  3. android xe 调用 java,Delphi XE6 for Android 让手机震动(调用Java的函数)
  4. Web站点下的Web Service读取此Web站点中的Session值
  5. raid卡的结构示意图
  6. 一个毕设的建成——记录下我毕设途中的《SOP》
  7. linux 环境 安装nginx
  8. Python刷csdn访问量
  9. LeetCode 题 - 35. 搜索插入位置
  10. 爬虫学习二: bs4 xpath re
  11. docker安装带管理界面的rabbitmq
  12. MessageDigest详解
  13. android连接airprint打印机,完爆AirPrint 揭秘联想安卓终端乐打印
  14. IPFS独角兽西部世界解读:销毁的近2000万FIL去哪里了?
  15. Navicat批量修改数据库某一属性初始值
  16. 国庆假期微信大数据报告
  17. HyperV修改分辨率
  18. MySQL倒序查询最后三条语句_MySQL 中 一条 order by index limit 语句的分析
  19. chrome 插件导出与导入
  20. 预告丨零信任产业标准工作组将成立,腾讯iOA重磅升级

热门文章

  1. Vue开发实例(11)之el-menu实现左侧菜单导航
  2. 小程序战局最新动态!这些你应该知道
  3. html中日期下拉选怎么设置,html中option标签(下拉列表选项)的详细介绍
  4. 2023年会议教学庭审录像机产品分析
  5. 用powershell代码安装Windows软件
  6. 利用Prometheus(普罗米修斯)Grafana对机器群的运行时各项数据进行监控
  7. Anaconda虚拟环境中,让Python3使用ROS的cv_bridge
  8. 嵌入式设备开发专题《NB-IoT开发,解读SIM卡、USIM卡、UICC卡、eSIM卡的区别》
  9. 美国大学生数学建模竞赛获奖经验贴
  10. 【unity】动画状态机中Transition的settings两段动画如何设置?