51nod 1278【贪心】
2024-09-30 01:58:20
主要这道题没有包含的情况,所以直接搞个左端,然后对于每个二分求一下>right的最近的位置j,那么ans就会增加 j 以后的;
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <queue>
using namespace std; const int N=5e4+10;
struct asd{
int x,y;
};
asd q[N];
int n; bool cmp(asd a,asd b)
{
return a.x<b.x;
} int Find(int s,int e,int tmp)
{
int left=s;
int right=e;
while(left <= right)
{
int mid = (left+right) >> 1;
if(q[mid].x > tmp)
right = mid-1;
else
left = mid+1;
}
return left;
} int main()
{
int d,r;
scanf("%d",&n);
for(int i=0;i<n;i++)
{
scanf("%d%d",&d,&r);
q[i].x=d-r;
q[i].y=d+r;
}
sort(q,q+n,cmp);
int j;
int ans=0;
for(int i=0;i<n-1;i++)
{
j=Find(i+1,n-1,q[i].y);
ans+=n-j;
}
printf("%d\n",ans);
return 0;
}
最新文章
- asp.net的简易的参数化查询
- java 面试每日一题4
- Python 处理多层嵌套列表
- linux下udp编程
- 如何利用PhoneGap制作地图APP
- 基础笔记(一)Java 集合
- hibernate设置mysql的timestamp默认值技巧
- 【面试虐菜】—— Oracle知识整理《DBA的思想天空》
- LINQ 101——分区、Join、聚合
- C/C++使用Lu脚本协程
- Mysql 语句汇总(性能篇)
- 【代码实现】PHP生成各种随机验证码
- Unity3d中Dictionary和KeyValuePair的使用
- javascript基础(四)语句
- noip前集训
- 用js实现贪吃蛇
- kali网卡配置文件
- H5新特性总结
- [Bayes] Understanding Bayes: A Look at the Likelihood
- css重要知识点
热门文章
- FeatureLayer.MODE_SNAPSHOT限制数量问题
- jquery ui 怎么实现tab标签切换效果
- build a real-time analytics dashboard to visualize the number of orders getting shipped every minute to improve the performance of their logistics for an e-commerce portal
- mybatis入门(八)
- 对ShortCut和TWMKey的研究
- [IR课程笔记]Page Rank
- STM32 ~ 如何从ST网站找到对应的固件库
- iOS 打开应用与系统功能的调用
- hadoop 常用命令总结
- LoadRunner中两种录制模式的区别