bzoj4246: 两个人的星座
题目描述:
思路:
以下代码:
#include<bits/stdc++.h> #define il inline #define db double #define LL long long #define pi acos(-1) #define _(d) while(d(isdigit(ch=getchar()))) using namespace std; const int N=3005; LL ans; int n,num[3],s[3]; struct node{int x,y,c; }t[N]; struct data{db v;int c;bool operator<(const data&t1)const{return v<t1.v;} }f[N<<1]; il int read(){int x,f=1;char ch;_(!)ch=='-'?f=-1:f;x=ch^48;_()x=(x<<1)+(x<<3)+(ch^48);return f*x; } int main() {n=read();for(int i=1;i<=n;i++){int x=read(),y=read(),c=read();t[i]=(node){x,y,c};s[c]++;}for(int i=1;i<=n;i++){int tot=0;node o=t[i];for(int j=1;j<=n;j++)if(i^j)f[++tot]=(data){atan2(t[j].y-o.y,t[j].x-o.x),t[j].c};sort(f+1,f+1+tot); for(int j=1;j<n;j++)f[++tot]=f[j],f[tot].v+=pi*2.0;int now=2;for(int j=0;j<3;j++)num[j]=0;s[o.c]--;num[f[1].c]++;for(int j=1;j<n;j++){data g=f[j];num[g.c]--;s[g.c]--;while(now<=tot&&f[now].v<=g.v+pi){num[f[now].c]++;now++;}LL res1=1,res2=1;for(int k=0;k<3;k++)s[k]-=num[k];for(int k=0;k<3;k++){if(o.c^k)res1*=num[k];if(g.c^k)res2*=s[k];}ans+=res1*res2;res1=res2=1;for(int k=0;k<3;k++){if(o.c^k)res1*=s[k];if(g.c^k)res2*=num[k];}ans+=res1*res2;for(int k=0;k<3;k++)s[k]+=num[k];s[g.c]++;}s[o.c]++;}printf("%lld\n",ans>>2);return 0; }
View Code
转载于:https://www.cnblogs.com/Jessie-/p/10488205.html
bzoj4246: 两个人的星座相关推荐
- [BZOJ4246]两个人的星座(计算几何)
4246: 两个人的星座 Time Limit: 40 Sec Memory Limit: 256 MB Submit: 101 Solved: 55 [Submit][Status][Discu ...
- [计算几何] [BZOJ4246] 两个人的星座
JOI2014最难的一道题? 题目在这里,讲道理感谢Po姐的翻译. 算是补坑了,Po姐来讲课的时候讲的一道题. 原版题解在这里,继续推荐有日文的基础的童鞋食用.日语是个好东西- 最暴力的一种解法就是把 ...
- bzoj 4246: 两个人的星座 计算几何
据说是合宿系列最难的一题...(反正我一题都不会也没什么感觉) 考虑任意一对符合条件的三角形(i,j),一定可以在三角形i和j中找到两对点,这两点的连线段所在直线将这对三角形分割到两个不同的半平面中. ...
- [几何] BZOJ 4246 两个人的星座
Po姐说 考虑两个三角形,如果这两个三角形相离,那么一定可以做出两条内公切线,否则做不出来 枚举一个点,以这个点为中心按极角序枚举另一个点,连接这两个点作出一条公切线,那么这两个三角形分别分布在这条线 ...
- 细思恐极的星座分析(上) ——用大数据和机器学习揭开十二星座的真实面目!
"为什么我的论文总发表不了,是不是我天生就不是做研究的料?"很多同学在写论文中遇到挫折,经常会发出这样的疑问.那么今天我就用星座,真实的数据和"高大上"的机器学 ...
- 趣谈12星座 这个貌似挺准的
白羊座 我不得不承认,这个星座的人确实和我是最佳搭档,如果把我和一个白羊座的人关在监狱10年,我觉得都不得闷死,出来的时候肯定还说,等会再出来,还有个 笑话没说完---- 当然,白羊座的人搞笑需要狮子 ...
- 自娱自乐--星座大全
星座测试 十二星座家居布置指南 让星座情人缠绵入怀 星座与糖 星座爱屋方式 看星座选地毯 十二星座装扮重点 十二星座品酒实录 美食与十二星座 十二星座靓鞋对对碰 星座适合的手机颜色 星座女孩与高跟鞋 ...
- “星链”或成美军未来作战理念新载体
本文来源:中国军网 在美国航天政策愈发重视商业航天发展,尤其是美太空军发展对巨型弹性低轨星座提出重大需求的背景下,美国太空探索公司SpaceX乘势将业务从商业航天发射.载人航天货物和乘员运输逐渐扩展至 ...
- 细思极恐!大数据和机器学习揭示十二星座的真实面目
细思极恐!大数据和机器学习揭示十二星座的真实面目 "为什么我的论文总发表不了,是不是我天生就不是做研究的料?"很多同学在写论文中遇到挫折,经常会发出这样的疑问.那么今天我就用星座, ...
最新文章
- 上海交大开源训练框架,支持大规模基于种群多智能体强化学习训练
- python3代码块
- uicontrol图形对象用户界面的用法
- 程序员面试系列——约瑟夫环
- DDD理论学习系列(13)-- 模块
- 基于java 企业进销存管理系统设计(含源文件)
- php中heredoc的使用方法
- Webpack入门教程二
- AndroidStudio安卓原生开发_Fragment_认识使用Fragment_创建_删除fragment---Android原生开发工作笔记116
- 5G格局剧变!苹果高通和解,英特尔退票出局,华为独善其身
- 蓝桥杯 ALGO-96 算法训练 Hello World!
- python怎么用split字符串全部分开_python实现字符串完美拆分split()的方法
- 图解项目研发流程与制度实例
- 【matlab深度学习工具箱】classificationLayer参数详解
- plc ge c语言编程,GE PLC编程软件快速入门手册.pdf
- 三大变换与自控(五)三角函数的正交性证明
- Web3依赖参与型经济,而它缺少的正是参与
- 教你去掉 U盘写保护
- 巅峰极客pwn wp
- 金融基础概念--宏观类和综合类
热门文章
- cdr多页面排版_CDR排版跨页图片的制作方法
- 根本原因分析(RCA)
- ai与虚拟现实_AI医疗的神话与现实
- macOS Big Sur 11.6 (20G165) 虚拟机 IOS 镜像
- 前端开发面试题及答案整理
- Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhos
- [魔方]魔方七步初级教程
- 前端体系认识和我的技术栈——wsdchong
- lly的瞬移方块(并查集)
- seo优化策略有哪些?