首页 技术 正文
技术 2022年11月16日
0 收藏 427 点赞 3,106 浏览 1331 个字

传送门

显然只用判断两个会相交的车会不会卡住就行了。

直接树状数组维护后缀最大值就行了。

代码:

#include<bits/stdc++.h>using namespace std;const int N=5e4+5;struct Matrix{int x1,x2,w,id;}a1[N],a2[N];int n,T,W,pos[N],bit[N];inline int lowbit(int x){return x&-x;}inline void update(int x,int v){for(int i=x;i;i-=lowbit(i))bit[i]=max(bit[i],v);}inline int query(int x){int ret=0;for(int i=x;i<=n;i+=lowbit(i))ret=max(ret,bit[i]);return ret;}inline bool cmp(const Matrix&a,const Matrix&b){return a.x1==b.x1?a.x2<b.x2:a.x1<b.x1;}const int RLEN=1<<18;inline char nc() {    static char ibuf[RLEN],*ib,*ob;    (ib==ob) && (ob=(ib=ibuf)+fread(ibuf,1,RLEN,stdin));    return (ib==ob) ? -1 : *ib++;}inline int read() {    char ch=nc(); int i=0,f=1;    while(!isdigit(ch)) {if(ch=='-')f=-1; ch=nc();}    while(isdigit(ch)) {i=(i<<1)+(i<<3)+(ch^48); ch=nc();}    return i*f;}int main(){    T=read();    while(T--){        n=read(),W=read();        for(int i=1,y1,y2;i<=n;++i){            a1[i].x1=read(),y1=read(),a1[i].x2=read(),y2=read(),a1[i].id=i;            if(a1[i].x1>a1[i].x2)swap(a1[i].x1,a1[i].x2);            a1[i].w=abs(y1-y2);        }        for(int i=1,y1,y2;i<=n;++i){            a2[i].x1=read(),y1=read(),a2[i].x2=read(),y2=read(),a2[i].id=i;            if(a2[i].x1>a2[i].x2)swap(a2[i].x1,a2[i].x2);            a2[i].w=abs(y1-y2);        }        bool f=1;        sort(a1+1,a1+n+1,cmp),sort(a2+1,a2+n+1,cmp);        for(int i=1;i<=n;++i)pos[a1[i].id]=i;        for(int i=1;i<=n;++i){            if(query(pos[a2[i].id])+a2[i].w>W){f=false;break;}            update(pos[a2[i].id],a2[i].w);        }        fill(bit+1,bit+n+1,0),puts(f?"TAK":"NIE");    }    return 0;}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,967
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,487
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,332
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,115
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,748
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,783