$n \leq 100000$个飞机在坐标轴上,给坐标给速度,坐标速度异号,还有一个风速在$[-w,w]$区间,$w$比最小的速度绝对值要小。由于风速不知道,所以问有多少对飞机可能在原点相遇。

思维定势:$\frac{x_i}{v_i+v}=\frac{x_j}{v_j+v}$,$v$是风速,然后推下去,会推到一个三维偏序。。

没有观察题目性质。这个时间是关于风速单调而连续的,所以只要风速最小和风速最大这两个东西求个逆序对就行了。

似乎卡精度,用了分数。

这种题要写题解感觉最近脑子有点锈。。有没有神犇愿意帮忙除个锈啊QAQ

 #include<stdio.h>
#include<string.h>
#include<stdlib.h>
//#include<math.h>
//#include<queue>
//#include<vector>
#include<algorithm>
//#include<iostream>
//#include<assert.h>
using namespace std; int n,w;
#define maxn 200011 struct frac
{
int a,b;
bool operator < (const frac &x) const {return 1ll*a*x.b<1ll*b*x.a;}
bool operator == (const frac &x) const {return 1ll*a*x.b==1ll*b*x.a;}
}; struct Poi{frac x,y; int z;}p[maxn];
bool cmpx(const Poi &a,const Poi &b) {return b.x<a.x || (a.x==b.x && a.y<b.y);}
frac lisa[maxn]; int li=; struct BIT
{
int a[maxn],n;
void clear(int m) {n=m;}
void add(int x,int v) {for (;x<=n;x+=x&-x) a[x]+=v;}
int query(int x) {int ans=; for (;x;x-=x&-x) ans+=a[x]; return ans;}
}t; #define LL long long
int main()
{
scanf("%d%d",&n,&w);
for (int i=,a,b;i<=n;i++)
{
scanf("%d%d",&a,&b);
if (a<) p[i].x=(frac){-a,b-w},p[i].y=(frac){-a,b+w};
else p[i].x=(frac){a,w-b},p[i].y=(frac){a,-w-b};
lisa[++li]=p[i].y;
}
sort(lisa+,lisa++li);
for (int i=;i<=n;i++) p[i].z=lower_bound(lisa+,lisa++li,p[i].y)-lisa; sort(p+,p++n,cmpx);
t.clear(n);
LL ans=;
for (int i=;i<=n;i++)
{
ans+=t.query(p[i].z);
t.add(p[i].z,);
}
printf("%lld\n",ans);
return ;
}

最新文章

  1. 沉浸式状态栏_boolean hasTopLine = a.getBoolean(1, false);//AS会在&quot;1&quot;下显示错误红线
  2. js获取中国日期-农历
  3. 每用户订阅上的所有人SID 不存在
  4. C# SQL优化 及 Linq 分页
  5. ios基础篇(七)——UISwich、UISlider、UIProgressView的用法总结
  6. iOS 进阶 第十五天(0417)
  7. 【boost】使用lambda表达式和generate_n生成顺序序列
  8. PyQt多窗口调用
  9. 设置google搜索打开链接时在新标签页显示
  10. 银行爱“IOE”爱得有多深
  11. Android开发——构建自定义组件
  12. 14.6.6 Configuring Thread Concurrency for InnoDB 配置线程并发
  13. 关于extern &quot;C&quot; 的用法
  14. PDF.NET SOD Ver 5.1完全开源
  15. GetWindowRect、GetClientRect、ScreenToClient与ClientToScreen
  16. Study 1 —— HTML5概述
  17. 使用Java合并图片、修改DPI
  18. 2018牛客27---D---愤怒: (有关子序列的dp问题)
  19. Log4net 日志传到 graylog监控
  20. vbs习题

热门文章

  1. linux的less命令
  2. linux配置MySql表名不区分大小写
  3. python 删除大表数据
  4. 【Java_多线程并发编程】JUC原子类——AtomicLong原子类
  5. (10)zabbix item key详解
  6. docker 运行tomcat 并部署 java web项目
  7. vue组件从开发到发布
  8. find 命令search使用
  9. Jquery 自定义动画同步进行如何实现?
  10. 【curl】【php】curl报错,错误代码77,CURLE_SSL_CACERT_BADFILE (77)解决方法