NOI2018 模拟 T1
题意:
给定每个人初始位置和初始速度 求删去k个人的情况下 最长多长时间会相遇
二分答案 算出最后的位置 有多少人相遇就是有多少逆序对 限制需要删除最少的点使得不存在逆序对 那么就是删除除了最长上升子序列以外的点即可
#include#define eps 1e-7using namespace std;inline char gc(){ static char now[1<<16],*S,*T; if (T==S){T=(S=now)+fread(now,1,1<<16,stdin);if (T==S) return EOF;} return *S++;}inline int read(){ int x=0,f=1;char ch=gc(); while(!isdigit(ch)) {if(ch=='-') f=-1;ch=gc();} while(isdigit(ch)) x=x*10+ch-'0',ch=gc(); return x*f;}const int N=1e5+10;struct node{ double p;int id;}a[N];struct node1{ int p,v;}c[N];int n,k,p[N],v[N],d[N],b[N];inline bool cmp(const node &a,const node &b){ return a.p>1; if (b[mid]eps){ double mid=(l+r)/2; if(check(mid)) l=mid;else r=mid; }if (abs(2e9-l)
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
暂时没有评论,来抢沙发吧~