博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bzoj 3190: [JLOI2013]赛车
阅读量:5245 次
发布时间:2019-06-14

本文共 2304 字,大约阅读时间需要 7 分钟。

这个题半平面交很显然了,都直接给出直线了有木有!!??答案就是交出来的(分段函数)凸壳有几块就行。。有相等什么的情况特别恶心。

然而本蒟蒻直接上的模板还是错了。。。跪(不知道为什么)

1 /*#include
2 #define N 100005 3 #define LL long long 4 #define eps 1e-8 5 #define double long double 6 using namespace std; 7 inline int ra() 8 { 9 int x=0,f=1; char ch=getchar(); 10 while (ch<'0' || ch>'9') {if (ch=='-') f=-1; ch=getchar();} 11 while (ch>='0' && ch<='9') {x=x*10+ch-'0'; ch=getchar();} 12 return x*f; 13 } 14 const double inf=1e15; 15 int n,cnt,tot,L,R,ans[N],num,orz; 16 struct data_in{int k,b; int id;}q[N]; 17 struct point{double x,y;}; 18 struct line{ 19 point a,b; double angle; int id; 20 void print(){ 21 printf("%.1lf %.1lf %.1lf %.1lf\n",a.x,a.y,b.x,b.y); 22 } 23 }l[N],s[N]; 24 double operator * (point a, point b){ 25 return a.x*b.y-a.y*b.x; 26 } 27 point operator - (point a, point b){ 28 point t; t.x=a.x-b.x; t.y=a.y-b.y; return t; 29 } 30 bool operator < (line a, line b){ 31 if (a.angle==b.angle) return (b.b-a.a)*(a.b-a.a)>=0; 32 return a.angle
109 #include
110 #define N 100005111 #define eps 1e-8112 using namespace std;113 int n,top;114 int ans[N];115 struct line{116 int k,b,id;117 friend bool operator < (line a, line b){118 if (a.k==b.k) return a.b
inter(a,t);128 }129 int main()130 {131 scanf("%d",&n);132 for (int i=1; i<=n; i++) scanf("%d",&c[i].b);133 for (int i=1; i<=n; i++) scanf("%d",&c[i].k);134 for (int i=1; i<=n; i++) c[i].id=i;135 sort(c+1,c+n+1); top=1;136 for (int i=2; i<=n; i++)137 {138 if (c[i].k!=c[i-1].k || (c[i].k==c[i-1].k && c[i].b==c[i-1].b))139 top++;140 c[top]=c[i];141 }142 n=top; top=0;143 q[++top]=c[1]; ans[1]=c[1].id;144 for (int i=2; i<=n; i++)145 {146 while (top>=1 && inter(q[top],c[i])<-eps) top--;147 while (top>=2 && jud(q[top-1],q[top],c[i])) top--;148 q[++top]=c[i]; ans[top]=c[i].id;149 }150 printf("%d\n",top);151 sort(ans+1,ans+top+1);152 for (int i=1; i<=top; i++)153 {154 printf("%d",ans[i]);155 if (i!=top) printf(" ");156 }157 // while (1);158 return 0;159 }

 

转载于:https://www.cnblogs.com/ccd2333/p/6492680.html

你可能感兴趣的文章
自定义EL函数
查看>>
stm32的电源
查看>>
splice的多种用法
查看>>
20162304 2017-2018-1 《程序设计与数据结构》第二周学习总结
查看>>
九.python面向对象(双下方法内置方法)
查看>>
2018-09-12
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
CSS与Theme的作用——Asp.Net
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
20165115 2017-2018-2 《Java程序设计》第四周学习总结
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
WPF自定义集合控件概述与遇到的问题
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
pytest的参数化测试
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
安装Pygame和pip的艰辛之路
查看>>
Hibernate的实体类为什么需要实现 java.io.Serializable 接口
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>