FZU 2242 Daxia like acute triangle
来源:互联网 发布:大学毕业后悔做程序员 编辑:程序博客网 时间:2024/06/09 18:52
半径为r的圆上有n个不重复的点,请你帮daxia计算这些点能构成多少个不同的锐角三角形.
测试包含多组数据,每组数据第一行包含两个整数:n(1<=n<=20000),r(1<=r<=20000).
接下来包含n行,每行包含一个整数x(-r<=x<=r)和一个不等式"y<=0"或"y>=0".
每组数据输出一行一个整数表示锐角三角形的总个数.
6 20 y<=01 y<=02 y<=0-2 y>=0-1 y>=00 y>=0
2
#include<cstdio>#include<iostream>#include<algorithm>using namespace std;const int N=1e5+10;int n,m;char s[N];struct point{int x,y;point(int x=0,int y=0):x(x),y(y){}bool operator<(const point&a)const{return y==a.y?x*y>a.x*y:y>a.y;}}a[N];int main(){while (~scanf("%d%d",&n,&m)){for (int i=1;i<=n;i++){scanf("%d%s",&a[i].x,s);if (s[1]=='<') a[i].y=-1; else a[i].y=1;}sort(a+1,a+n+1);long long ans=1LL*n*(n-1)*(n-2)/6;for (int i=1;i<=n;i++){if (a[i].y==1){int r=upper_bound(a+1,a+n+1,point(-a[i].x,-a[i].y))-a-i-1;ans-=1LL*r*(r-1)/2;}else {int r=upper_bound(a+1,a+n+1,point(-a[i].x,-a[i].y))-a-1+n-i;ans-=1LL*r*(r-1)/2;}}cout<<ans<<endl;}return 0;}
1 0
- FZU 2242 Daxia like acute triangle
- FZU 2243 Daxia like uber
- fzu 2243 Daxia like uber
- FZU Problem 2243 Daxia like uber(最短路)
- FZU/FOJ 2243 Daxia like uber【最短路SPFA+思维】
- FZU 2238Daxia & Wzc's problem
- fzu 2238 Daxia & Wzc's problem
- fzu 2244 Daxia want to buy house
- fzu 2238 Daxia & Wzc's problem
- 【最短路】FOJ 2243 Daxia like uber
- FZU-2239 Daxia & Yayamao's problem(斜率优化)
- FZU 2239 Daxia & Yayamao's problem 斜率优化
- FZU 2238 Daxia & Wzc's problem【规律+lucas】
- FZUOJ Problem 2243 Daxia like uber (最短路+汗水)
- FZU 1004----Number Triangle
- FZU Problem 2238 Daxia & Wzc's problem(Lucas定理求组合数)
- FZU Problem 2240 Daxia & Suneast's problem(博弈+[单点更新,区间查询]线段树)
- FZU 1004 Number Triangle(简单DP)
- mysql导入数据load data infile用法
- 在前台,以session为查询条件,查询数据库。 seer_name的值就是当前系统的session值。
- Zulip聊天机器人Python开发
- MySQL数据库优化(三)
- 浏览器的工作原理:新式网络浏览器幕后揭秘
- FZU 2242 Daxia like acute triangle
- Ehcache缓存框架小案例
- 鱼眼校正之类1
- 根据后台配置项,动态的在页面先控制显示内容
- CH6--正则表达式,p112,练习一???
- 每日积累(20161219-day-19)(shell &bash学习 make&cmake&qmake)
- [学习笔记]python入门路,前路漫漫,且行且放弃(一)
- oracle 删除用户
- Linux系统environ环境变量 打印当前进程环境变量信息