【Codeforces249D】Donkey and Stars
来源:互联网 发布:cs1.6中文版for mac 编辑:程序博客网 时间:2024/06/10 13:05
转换以后就是一个lis。
(程序非常简单易懂)
#include <bits/stdc++.h>#define gc getchar()#define ll long long#define mid (l+r>>1)#define N 100009using namespace std;int n,a,b,c,d,m,sta[N],top;struct point{ ll x,y; bool operator <(const point &rhs) const { return (x<rhs.x)||(x==rhs.x)&&(y>rhs.y); }}p[N];int read(){ int x=1; char ch; while (ch=gc,ch<'0'||ch>'9') if (ch=='-') x=-1; int s=ch-'0'; while (ch=gc,ch>='0'&&ch<='9') s=s*10+ch-'0'; return s*x;}int main(){ n=read(); a=read(),b=read(),c=read(),d=read(); for (int i=1;i<=n;i++) { int x=read(),y=read(); m++; p[m].x=(ll)y*b-(ll)x*a; p[m].y=(ll)x*c-(ll)y*d; if (p[m].x<=0||p[m].y<=0) m--; } sort(p+1,p+m+1); for (int i=1;i<=m;i++) { if (!top||p[i].y>p[sta[top]].y) sta[++top]=i; else { int l=1,r=top,ret=0; while (l<=r) { if (p[i].y<=p[sta[mid]].y) ret=mid,r=mid-1; else l=mid+1; } if (p[i].y<p[sta[ret]].y) sta[ret]=i; } } printf("%d\n",top); return 0;}
阅读全文
0 0
- 【Codeforces249D】Donkey and Stars
- Codeforces 249D Donkey and Stars (线段树+扫描线)
- 【Codeforces 98E】Help Shrek and Donkey
- Stars and Nebulae
- [CF 249D]Donkey and Start解题报告
- stars
- Stars
- Stars
- Stars
- Stars
- Stars
- Stars
- Stars
- stars
- Stars
- Stars
- stars
- Stars
- Wannafly模拟赛3
- 成绩
- ImageLoder使用
- 爬虫基础 -- 用Flask+Redis维护代理池
- 冒泡排序
- 【Codeforces249D】Donkey and Stars
- OpenGL 射线 拾取
- 【洛谷】1593 因子和 组合数学
- android 使用ONPENGL ES 绘制三角形 (二)(索引方法)
- 关于java中的list 的认识
- opencv学习笔记(1)[Python]
- win10
- 【洛谷】1637 三元上升子序列 树状数组
- 转载:linux内核input子系统代码实现流程